linux/fs
f2fs.h File Reference
#include <linux/types.h>
#include <linux/page-flags.h>
#include <linux/buffer_head.h>
#include <linux/slab.h>
#include <linux/crc32.h>
#include <linux/magic.h>
#include <linux/kobject.h>
#include <linux/sched.h>
#include <linux/cred.h>
#include <linux/vmalloc.h>
#include <linux/bio.h>
#include <linux/blkdev.h>
#include <linux/quotaops.h>
#include <crypto/hash.h>
#include <linux/fscrypt.h>
Include dependency graph for f2fs.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  f2fs_mount_info
 
struct  cp_control
 
struct  ino_entry
 
struct  inode_entry
 
struct  discard_entry
 
struct  discard_info
 
struct  discard_cmd
 
struct  discard_policy
 
struct  discard_cmd_control
 
struct  fsync_inode_entry
 
struct  f2fs_gc_range
 
struct  f2fs_defragment
 
struct  f2fs_move_range
 
struct  f2fs_flush_device
 
struct  f2fs_dentry_ptr
 
struct  rb_entry
 
struct  extent_info
 
struct  extent_node
 
struct  extent_tree
 
struct  f2fs_map_blocks
 
struct  f2fs_inode_info
 
struct  f2fs_nm_info
 
struct  dnode_of_data
 
struct  flush_cmd
 
struct  flush_cmd_control
 
struct  f2fs_sm_info
 
struct  f2fs_io_info
 
struct  f2fs_bio_info
 
struct  f2fs_dev_info
 
struct  inode_management
 
struct  f2fs_sb_info
 

Macros

#define __FS_HAS_ENCRYPTION   IS_ENABLED(CONFIG_F2FS_FS_ENCRYPTION)
 
#define f2fs_bug_on(sbi, condition)
 
#define F2FS_MOUNT_BG_GC   0x00000001
 
#define F2FS_MOUNT_DISABLE_ROLL_FORWARD   0x00000002
 
#define F2FS_MOUNT_DISCARD   0x00000004
 
#define F2FS_MOUNT_NOHEAP   0x00000008
 
#define F2FS_MOUNT_XATTR_USER   0x00000010
 
#define F2FS_MOUNT_POSIX_ACL   0x00000020
 
#define F2FS_MOUNT_DISABLE_EXT_IDENTIFY   0x00000040
 
#define F2FS_MOUNT_INLINE_XATTR   0x00000080
 
#define F2FS_MOUNT_INLINE_DATA   0x00000100
 
#define F2FS_MOUNT_INLINE_DENTRY   0x00000200
 
#define F2FS_MOUNT_FLUSH_MERGE   0x00000400
 
#define F2FS_MOUNT_NOBARRIER   0x00000800
 
#define F2FS_MOUNT_FASTBOOT   0x00001000
 
#define F2FS_MOUNT_EXTENT_CACHE   0x00002000
 
#define F2FS_MOUNT_FORCE_FG_GC   0x00004000
 
#define F2FS_MOUNT_DATA_FLUSH   0x00008000
 
#define F2FS_MOUNT_FAULT_INJECTION   0x00010000
 
#define F2FS_MOUNT_ADAPTIVE   0x00020000
 
#define F2FS_MOUNT_LFS   0x00040000
 
#define F2FS_MOUNT_USRQUOTA   0x00080000
 
#define F2FS_MOUNT_GRPQUOTA   0x00100000
 
#define F2FS_MOUNT_PRJQUOTA   0x00200000
 
#define F2FS_MOUNT_QUOTA   0x00400000
 
#define F2FS_MOUNT_INLINE_XATTR_SIZE   0x00800000
 
#define F2FS_MOUNT_RESERVE_ROOT   0x01000000
 
#define F2FS_OPTION(sbi)   ((sbi)->mount_opt)
 
#define clear_opt(sbi, option)   (F2FS_OPTION(sbi).opt &= ~F2FS_MOUNT_##option)
 
#define set_opt(sbi, option)   (F2FS_OPTION(sbi).opt |= F2FS_MOUNT_##option)
 
#define test_opt(sbi, option)   (F2FS_OPTION(sbi).opt & F2FS_MOUNT_##option)
 
#define ver_after(a, b)
 
#define F2FS_FEATURE_ENCRYPT   0x0001
 
#define F2FS_FEATURE_BLKZONED   0x0002
 
#define F2FS_FEATURE_ATOMIC_WRITE   0x0004
 
#define F2FS_FEATURE_EXTRA_ATTR   0x0008
 
#define F2FS_FEATURE_PRJQUOTA   0x0010
 
#define F2FS_FEATURE_INODE_CHKSUM   0x0020
 
#define F2FS_FEATURE_FLEXIBLE_INLINE_XATTR   0x0040
 
#define F2FS_FEATURE_QUOTA_INO   0x0080
 
#define F2FS_FEATURE_INODE_CRTIME   0x0100
 
#define F2FS_FEATURE_LOST_FOUND   0x0200
 
#define F2FS_FEATURE_VERITY   0x0400 /* reserved */
 
#define F2FS_HAS_FEATURE(sb, mask)   ((F2FS_SB(sb)->raw_super->feature & cpu_to_le32(mask)) != 0)
 
#define F2FS_SET_FEATURE(sb, mask)   (F2FS_SB(sb)->raw_super->feature |= cpu_to_le32(mask))
 
#define F2FS_CLEAR_FEATURE(sb, mask)   (F2FS_SB(sb)->raw_super->feature &= ~cpu_to_le32(mask))
 
#define F2FS_DEF_RESUID   0
 
#define F2FS_DEF_RESGID   0
 
#define CP_UMOUNT   0x00000001
 
#define CP_FASTBOOT   0x00000002
 
#define CP_SYNC   0x00000004
 
#define CP_RECOVERY   0x00000008
 
#define CP_DISCARD   0x00000010
 
#define CP_TRIMMED   0x00000020
 
#define DEF_BATCHED_TRIM_SECTIONS   2048
 
#define BATCHED_TRIM_SEGMENTS(sbi)   (GET_SEG_FROM_SEC(sbi, SM_I(sbi)->trim_sections))
 
#define BATCHED_TRIM_BLOCKS(sbi)   (BATCHED_TRIM_SEGMENTS(sbi) << (sbi)->log_blocks_per_seg)
 
#define MAX_DISCARD_BLOCKS(sbi)   BLKS_PER_SEC(sbi)
 
#define DEF_MAX_DISCARD_REQUEST   8 /* issue 8 discards per round */
 
#define DEF_MIN_DISCARD_ISSUE_TIME   50 /* 50 ms, if exists */
 
#define DEF_MAX_DISCARD_ISSUE_TIME   60000 /* 60 s, if no candidates */
 
#define DEF_CP_INTERVAL   60 /* 60 secs */
 
#define DEF_IDLE_INTERVAL   5 /* 5 secs */
 
#define DEFAULT_DISCARD_GRANULARITY   16
 
#define MAX_PLIST_NUM   512
 
#define plist_idx(blk_num)
 
#define nats_in_cursum(jnl)   (le16_to_cpu((jnl)->n_nats))
 
#define sits_in_cursum(jnl)   (le16_to_cpu((jnl)->n_sits))
 
#define nat_in_journal(jnl, i)   ((jnl)->nat_j.entries[i].ne)
 
#define nid_in_journal(jnl, i)   ((jnl)->nat_j.entries[i].nid)
 
#define sit_in_journal(jnl, i)   ((jnl)->sit_j.entries[i].se)
 
#define segno_in_journal(jnl, i)   ((jnl)->sit_j.entries[i].segno)
 
#define MAX_NAT_JENTRIES(jnl)   (NAT_JOURNAL_ENTRIES - nats_in_cursum(jnl))
 
#define MAX_SIT_JENTRIES(jnl)   (SIT_JOURNAL_ENTRIES - sits_in_cursum(jnl))
 
#define F2FS_IOC_GETFLAGS   FS_IOC_GETFLAGS
 
#define F2FS_IOC_SETFLAGS   FS_IOC_SETFLAGS
 
#define F2FS_IOC_GETVERSION   FS_IOC_GETVERSION
 
#define F2FS_IOCTL_MAGIC   0xf5
 
#define F2FS_IOC_START_ATOMIC_WRITE   _IO(F2FS_IOCTL_MAGIC, 1)
 
#define F2FS_IOC_COMMIT_ATOMIC_WRITE   _IO(F2FS_IOCTL_MAGIC, 2)
 
#define F2FS_IOC_START_VOLATILE_WRITE   _IO(F2FS_IOCTL_MAGIC, 3)
 
#define F2FS_IOC_RELEASE_VOLATILE_WRITE   _IO(F2FS_IOCTL_MAGIC, 4)
 
#define F2FS_IOC_ABORT_VOLATILE_WRITE   _IO(F2FS_IOCTL_MAGIC, 5)
 
#define F2FS_IOC_GARBAGE_COLLECT   _IOW(F2FS_IOCTL_MAGIC, 6, __u32)
 
#define F2FS_IOC_WRITE_CHECKPOINT   _IO(F2FS_IOCTL_MAGIC, 7)
 
#define F2FS_IOC_DEFRAGMENT
 
#define F2FS_IOC_MOVE_RANGE
 
#define F2FS_IOC_FLUSH_DEVICE
 
#define F2FS_IOC_GARBAGE_COLLECT_RANGE
 
#define F2FS_IOC_GET_FEATURES   _IOR(F2FS_IOCTL_MAGIC, 12, __u32)
 
#define F2FS_IOC_SET_PIN_FILE   _IOW(F2FS_IOCTL_MAGIC, 13, __u32)
 
#define F2FS_IOC_GET_PIN_FILE   _IOR(F2FS_IOCTL_MAGIC, 14, __u32)
 
#define F2FS_IOC_PRECACHE_EXTENTS   _IO(F2FS_IOCTL_MAGIC, 15)
 
#define F2FS_IOC_SET_ENCRYPTION_POLICY   FS_IOC_SET_ENCRYPTION_POLICY
 
#define F2FS_IOC_GET_ENCRYPTION_POLICY   FS_IOC_GET_ENCRYPTION_POLICY
 
#define F2FS_IOC_GET_ENCRYPTION_PWSALT   FS_IOC_GET_ENCRYPTION_PWSALT
 
#define F2FS_IOC_SHUTDOWN   _IOR('X', 125, __u32) /* Shutdown */
 
#define F2FS_GOING_DOWN_FULLSYNC   0x0 /* going down with full sync */
 
#define F2FS_GOING_DOWN_METASYNC   0x1 /* going down with metadata */
 
#define F2FS_GOING_DOWN_NOSYNC   0x2 /* going down */
 
#define F2FS_GOING_DOWN_METAFLUSH   0x3 /* going down with meta flush */
 
#define F2FS_IOC_FSGETXATTR   FS_IOC_FSGETXATTR
 
#define F2FS_IOC_FSSETXATTR   FS_IOC_FSSETXATTR
 
#define DEF_INLINE_RESERVED_SIZE   1
 
#define DEF_MIN_INLINE_SIZE   1
 
#define MAX_INLINE_DATA(inode)
 
#define NR_INLINE_DENTRY(inode)
 
#define INLINE_DENTRY_BITMAP_SIZE(inode)
 
#define INLINE_RESERVED_SIZE(inode)
 
#define XATTR_NODE_OFFSET
 
#define F2FS_LINK_MAX   0xffffffff /* maximum link count per file */
 
#define MAX_DIR_RA_PAGES   4 /* maximum ra pages of dir */
 
#define EXT_TREE_VEC_SIZE   64
 
#define F2FS_MIN_EXTENT_LEN   64 /* minimum extent length */
 
#define EXTENT_CACHE_SHRINK_NUMBER   128
 
#define F2FS_MAP_NEW   (1 << BH_New)
 
#define F2FS_MAP_MAPPED   (1 << BH_Mapped)
 
#define F2FS_MAP_UNWRITTEN   (1 << BH_Unwritten)
 
#define F2FS_MAP_FLAGS
 
#define FADVISE_COLD_BIT   0x01
 
#define FADVISE_LOST_PINO_BIT   0x02
 
#define FADVISE_ENCRYPT_BIT   0x04
 
#define FADVISE_ENC_NAME_BIT   0x08
 
#define FADVISE_KEEP_SIZE_BIT   0x10
 
#define FADVISE_HOT_BIT   0x20
 
#define FADVISE_VERITY_BIT   0x40 /* reserved */
 
#define file_is_cold(inode)   is_file(inode, FADVISE_COLD_BIT)
 
#define file_wrong_pino(inode)   is_file(inode, FADVISE_LOST_PINO_BIT)
 
#define file_set_cold(inode)   set_file(inode, FADVISE_COLD_BIT)
 
#define file_lost_pino(inode)   set_file(inode, FADVISE_LOST_PINO_BIT)
 
#define file_clear_cold(inode)   clear_file(inode, FADVISE_COLD_BIT)
 
#define file_got_pino(inode)   clear_file(inode, FADVISE_LOST_PINO_BIT)
 
#define file_is_encrypt(inode)   is_file(inode, FADVISE_ENCRYPT_BIT)
 
#define file_set_encrypt(inode)   set_file(inode, FADVISE_ENCRYPT_BIT)
 
#define file_clear_encrypt(inode)   clear_file(inode, FADVISE_ENCRYPT_BIT)
 
#define file_enc_name(inode)   is_file(inode, FADVISE_ENC_NAME_BIT)
 
#define file_set_enc_name(inode)   set_file(inode, FADVISE_ENC_NAME_BIT)
 
#define file_keep_isize(inode)   is_file(inode, FADVISE_KEEP_SIZE_BIT)
 
#define file_set_keep_isize(inode)   set_file(inode, FADVISE_KEEP_SIZE_BIT)
 
#define file_is_hot(inode)   is_file(inode, FADVISE_HOT_BIT)
 
#define file_set_hot(inode)   set_file(inode, FADVISE_HOT_BIT)
 
#define file_clear_hot(inode)   clear_file(inode, FADVISE_HOT_BIT)
 
#define DEF_DIR_LEVEL   0
 
#define NR_CURSEG_DATA_TYPE   (3)
 
#define NR_CURSEG_NODE_TYPE   (3)
 
#define NR_CURSEG_TYPE   (NR_CURSEG_DATA_TYPE + NR_CURSEG_NODE_TYPE)
 
#define WB_DATA_TYPE(p)   (__is_cp_guaranteed(p) ? F2FS_WB_CP_DATA : F2FS_WB_DATA)
 
#define PAGE_TYPE_OF_BIO(type)   ((type) > META ? META : (type))
 
#define is_read_io(rw)   ((rw) == READ)
 
#define FDEV(i)   (sbi->devs[i])
 
#define RDEV(i)   (raw_super->devs[i])
 
#define DUMMY_ENCRYPTION_ENABLED(sbi)   (0)
 
#define BD_PART_WRITTEN(s)
 
#define RAW_IS_INODE(p)   ((p)->footer.nid == (p)->footer.ino)
 
#define F2FS_REG_FLMASK   (~(FS_DIRSYNC_FL | FS_TOPDIR_FL))
 
#define F2FS_OTHER_FLMASK   (FS_NODUMP_FL | FS_NOATIME_FL)
 
#define F2FS_FL_INHERITED   (FS_PROJINHERIT_FL)
 
#define get_inode_mode(i)
 
#define F2FS_TOTAL_EXTRA_ATTR_SIZE
 
#define F2FS_OLD_ATTRIBUTE_SIZE   (offsetof(struct f2fs_inode, i_addr))
 
#define F2FS_FITS_IN_INODE(f2fs_inode, extra_isize, field)
 
#define stat_inc_cp_count(si)   do { } while (0)
 
#define stat_inc_bg_cp_count(si)   do { } while (0)
 
#define stat_inc_call_count(si)   do { } while (0)
 
#define stat_inc_bggc_count(si)   do { } while (0)
 
#define stat_inc_dirty_inode(sbi, type)   do { } while (0)
 
#define stat_dec_dirty_inode(sbi, type)   do { } while (0)
 
#define stat_inc_total_hit(sb)   do { } while (0)
 
#define stat_inc_rbtree_node_hit(sb)   do { } while (0)
 
#define stat_inc_largest_node_hit(sbi)   do { } while (0)
 
#define stat_inc_cached_node_hit(sbi)   do { } while (0)
 
#define stat_inc_inline_xattr(inode)   do { } while (0)
 
#define stat_dec_inline_xattr(inode)   do { } while (0)
 
#define stat_inc_inline_inode(inode)   do { } while (0)
 
#define stat_dec_inline_inode(inode)   do { } while (0)
 
#define stat_inc_inline_dir(inode)   do { } while (0)
 
#define stat_dec_inline_dir(inode)   do { } while (0)
 
#define stat_inc_atomic_write(inode)   do { } while (0)
 
#define stat_dec_atomic_write(inode)   do { } while (0)
 
#define stat_update_max_atomic_write(inode)   do { } while (0)
 
#define stat_inc_volatile_write(inode)   do { } while (0)
 
#define stat_dec_volatile_write(inode)   do { } while (0)
 
#define stat_update_max_volatile_write(inode)   do { } while (0)
 
#define stat_inc_seg_type(sbi, curseg)   do { } while (0)
 
#define stat_inc_block_count(sbi, curseg)   do { } while (0)
 
#define stat_inc_inplace_blocks(sbi)   do { } while (0)
 
#define stat_inc_seg_count(sbi, type, gc_type)   do { } while (0)
 
#define stat_inc_tot_blk_count(si, blks)   do { } while (0)
 
#define stat_inc_data_blk_count(sbi, blks, gc_type)   do { } while (0)
 
#define stat_inc_node_blk_count(sbi, blks, gc_type)   do { } while (0)
 
#define F2FS_FEATURE_FUNCS(name, flagname)
 

Typedefs

typedef u32 block_t
 
typedef u32 nid_t
 

Enumerations

enum  { NAT_BITMAP, SIT_BITMAP }
 
enum  {
  META_CP, META_NAT, META_SIT, META_SSA,
  META_POR
}
 
enum  {
  ORPHAN_INO, APPEND_INO, UPDATE_INO, TRANS_DIR_INO,
  FLUSH_INO, MAX_INO_ENTRY
}
 
enum  { D_PREP, D_SUBMIT, D_DONE }
 
enum  {
  DPOLICY_BG, DPOLICY_FORCE, DPOLICY_FSTRIM, DPOLICY_UMOUNT,
  MAX_DPOLICY
}
 
enum  { ALLOC_NODE, LOOKUP_NODE, LOOKUP_NODE_RA }
 
enum  {
  F2FS_GET_BLOCK_DEFAULT, F2FS_GET_BLOCK_FIEMAP, F2FS_GET_BLOCK_BMAP, F2FS_GET_BLOCK_PRE_DIO,
  F2FS_GET_BLOCK_PRE_AIO, F2FS_GET_BLOCK_PRECACHE
}
 
enum  nid_state { FREE_NID, PREALLOC_NID, MAX_NID_STATE }
 
enum  {
  CURSEG_HOT_DATA = 0, CURSEG_WARM_DATA, CURSEG_COLD_DATA, CURSEG_HOT_NODE,
  CURSEG_WARM_NODE, CURSEG_COLD_NODE, NO_CHECK_TYPE
}
 
enum  count_type {
  F2FS_DIRTY_DENTS, F2FS_DIRTY_DATA, F2FS_DIRTY_QDATA, F2FS_DIRTY_NODES,
  F2FS_DIRTY_META, F2FS_INMEM_PAGES, F2FS_DIRTY_IMETA, F2FS_WB_CP_DATA,
  F2FS_WB_DATA, NR_COUNT_TYPE
}
 
enum  page_type {
  DATA, NODE, META, NR_PAGE_TYPE,
  META_FLUSH, INMEM, INMEM_DROP, INMEM_INVALIDATE,
  INMEM_REVOKE, IPU, OPU
}
 
enum  temp_type { HOT = 0, WARM, COLD, NR_TEMP_TYPE }
 
enum  need_lock_type { LOCK_REQ = 0, LOCK_DONE, LOCK_RETRY }
 
enum  cp_reason_type {
  CP_NO_NEEDED, CP_NON_REGULAR, CP_HARDLINK, CP_SB_NEED_CP,
  CP_WRONG_PINO, CP_NO_SPC_ROLL, CP_NODE_NEED_CP, CP_FASTBOOT_MODE,
  CP_SPEC_LOG_NUM, CP_RECOVER_DIR
}
 
enum  iostat_type {
  APP_DIRECT_IO, APP_BUFFERED_IO, APP_WRITE_IO, APP_MAPPED_IO,
  FS_DATA_IO, FS_NODE_IO, FS_META_IO, FS_GC_DATA_IO,
  FS_GC_NODE_IO, FS_CP_DATA_IO, FS_CP_NODE_IO, FS_CP_META_IO,
  FS_DISCARD, NR_IO_TYPE
}
 
enum  inode_type {
  DIR_INODE, FILE_INODE, DIRTY_META, ATOMIC_FILE,
  NR_INODE_TYPE
}
 
enum  {
  SBI_IS_DIRTY, SBI_IS_CLOSE, SBI_NEED_FSCK, SBI_POR_DOING,
  SBI_NEED_SB_WRITE, SBI_NEED_CP
}
 
enum  { CP_TIME, REQ_TIME, MAX_TIME }
 
enum  { WHINT_MODE_OFF, WHINT_MODE_USER, WHINT_MODE_FS }
 
enum  { ALLOC_MODE_DEFAULT, ALLOC_MODE_REUSE }
 
enum  fsync_mode { FSYNC_MODE_POSIX, FSYNC_MODE_STRICT }
 
enum  {
  FI_NEW_INODE, FI_DIRTY_INODE, FI_AUTO_RECOVER, FI_DIRTY_DIR,
  FI_INC_LINK, FI_ACL_MODE, FI_NO_ALLOC, FI_FREE_NID,
  FI_NO_EXTENT, FI_INLINE_XATTR, FI_INLINE_DATA, FI_INLINE_DENTRY,
  FI_APPEND_WRITE, FI_UPDATE_WRITE, FI_NEED_IPU, FI_ATOMIC_FILE,
  FI_ATOMIC_COMMIT, FI_VOLATILE_FILE, FI_FIRST_BLOCK_WRITTEN, FI_DROP_CACHE,
  FI_DATA_EXIST, FI_INLINE_DOTS, FI_DO_DEFRAG, FI_DIRTY_FILE,
  FI_NO_PREALLOC, FI_HOT_DATA, FI_EXTRA_ATTR, FI_PROJ_INHERIT,
  FI_PIN_FILE
}
 

Functions

static int update_nats_in_cursum (struct f2fs_journal *journal, int i)
 
static int update_sits_in_cursum (struct f2fs_journal *journal, int i)
 
static bool __has_cursum_space (struct f2fs_journal *journal, int size, int type)
 
static int get_extra_isize (struct inode *inode)
 
static int get_inline_xattr_addrs (struct inode *inode)
 
static void make_dentry_ptr_block (struct inode *inode, struct f2fs_dentry_ptr *d, struct f2fs_dentry_block *t)
 
static void make_dentry_ptr_inline (struct inode *inode, struct f2fs_dentry_ptr *d, void *t)
 
static void get_extent_info (struct extent_info *ext, struct f2fs_extent *i_ext)
 
static void set_raw_extent (struct extent_info *ext, struct f2fs_extent *i_ext)
 
static void set_extent_info (struct extent_info *ei, unsigned int fofs, u32 blk, unsigned int len)
 
static bool __is_discard_mergeable (struct discard_info *back, struct discard_info *front)
 
static bool __is_discard_back_mergeable (struct discard_info *cur, struct discard_info *back)
 
static bool __is_discard_front_mergeable (struct discard_info *cur, struct discard_info *front)
 
static bool __is_extent_mergeable (struct extent_info *back, struct extent_info *front)
 
static bool __is_back_mergeable (struct extent_info *cur, struct extent_info *back)
 
static bool __is_front_mergeable (struct extent_info *cur, struct extent_info *front)
 
void f2fs_mark_inode_dirty_sync (struct inode *inode, bool sync)
 
static void __try_update_largest_extent (struct inode *inode, struct extent_tree *et, struct extent_node *en)
 
static void set_new_dnode (struct dnode_of_data *dn, struct inode *inode, struct page *ipage, struct page *npage, nid_t nid)
 
static void f2fs_update_time (struct f2fs_sb_info *sbi, int type)
 
static bool f2fs_time_over (struct f2fs_sb_info *sbi, int type)
 
static bool is_idle (struct f2fs_sb_info *sbi)
 
static u32 __f2fs_crc32 (struct f2fs_sb_info *sbi, u32 crc, const void *address, unsigned int length)
 
static u32 f2fs_crc32 (struct f2fs_sb_info *sbi, const void *address, unsigned int length)
 
static bool f2fs_crc_valid (struct f2fs_sb_info *sbi, __u32 blk_crc, void *buf, size_t buf_size)
 
static u32 f2fs_chksum (struct f2fs_sb_info *sbi, u32 crc, const void *address, unsigned int length)
 
static struct f2fs_inode_infoF2FS_I (struct inode *inode)
 
static struct f2fs_sb_infoF2FS_SB (struct super_block *sb)
 
static struct f2fs_sb_infoF2FS_I_SB (struct inode *inode)
 
static struct f2fs_sb_infoF2FS_M_SB (struct address_space *mapping)
 
static struct f2fs_sb_infoF2FS_P_SB (struct page *page)
 
static struct f2fs_super_block * F2FS_RAW_SUPER (struct f2fs_sb_info *sbi)
 
static struct f2fs_checkpoint * F2FS_CKPT (struct f2fs_sb_info *sbi)
 
static struct f2fs_node * F2FS_NODE (struct page *page)
 
static struct f2fs_inode * F2FS_INODE (struct page *page)
 
static struct f2fs_nm_infoNM_I (struct f2fs_sb_info *sbi)
 
static struct f2fs_sm_infoSM_I (struct f2fs_sb_info *sbi)
 
static struct sit_infoSIT_I (struct f2fs_sb_info *sbi)
 
static struct free_segmap_infoFREE_I (struct f2fs_sb_info *sbi)
 
static struct dirty_seglist_infoDIRTY_I (struct f2fs_sb_info *sbi)
 
static struct address_space * META_MAPPING (struct f2fs_sb_info *sbi)
 
static struct address_space * NODE_MAPPING (struct f2fs_sb_info *sbi)
 
static bool is_sbi_flag_set (struct f2fs_sb_info *sbi, unsigned int type)
 
static void set_sbi_flag (struct f2fs_sb_info *sbi, unsigned int type)
 
static void clear_sbi_flag (struct f2fs_sb_info *sbi, unsigned int type)
 
static unsigned long long cur_cp_version (struct f2fs_checkpoint *cp)
 
static unsigned long f2fs_qf_ino (struct super_block *sb, int type)
 
static __u64 cur_cp_crc (struct f2fs_checkpoint *cp)
 
static bool __is_set_ckpt_flags (struct f2fs_checkpoint *cp, unsigned int f)
 
static bool is_set_ckpt_flags (struct f2fs_sb_info *sbi, unsigned int f)
 
static void __set_ckpt_flags (struct f2fs_checkpoint *cp, unsigned int f)
 
static void set_ckpt_flags (struct f2fs_sb_info *sbi, unsigned int f)
 
static void __clear_ckpt_flags (struct f2fs_checkpoint *cp, unsigned int f)
 
static void clear_ckpt_flags (struct f2fs_sb_info *sbi, unsigned int f)
 
static void disable_nat_bits (struct f2fs_sb_info *sbi, bool lock)
 
static bool enabled_nat_bits (struct f2fs_sb_info *sbi, struct cp_control *cpc)
 
static void f2fs_lock_op (struct f2fs_sb_info *sbi)
 
static int f2fs_trylock_op (struct f2fs_sb_info *sbi)
 
static void f2fs_unlock_op (struct f2fs_sb_info *sbi)
 
static void f2fs_lock_all (struct f2fs_sb_info *sbi)
 
static void f2fs_unlock_all (struct f2fs_sb_info *sbi)
 
static int __get_cp_reason (struct f2fs_sb_info *sbi)
 
static bool __remain_node_summaries (int reason)
 
static bool __exist_node_summaries (struct f2fs_sb_info *sbi)
 
static int check_nid_range (struct f2fs_sb_info *sbi, nid_t nid)
 
static int F2FS_HAS_BLOCKS (struct inode *inode)
 
static bool f2fs_has_xattr_block (unsigned int ofs)
 
static bool __allow_reserved_blocks (struct f2fs_sb_info *sbi, struct inode *inode)
 
static void f2fs_i_blocks_write (struct inode *, block_t, bool, bool)
 
static int inc_valid_block_count (struct f2fs_sb_info *sbi, struct inode *inode, blkcnt_t *count)
 
static void dec_valid_block_count (struct f2fs_sb_info *sbi, struct inode *inode, block_t count)
 
static void inc_page_count (struct f2fs_sb_info *sbi, int count_type)
 
static void inode_inc_dirty_pages (struct inode *inode)
 
static void dec_page_count (struct f2fs_sb_info *sbi, int count_type)
 
static void inode_dec_dirty_pages (struct inode *inode)
 
static s64 get_pages (struct f2fs_sb_info *sbi, int count_type)
 
static int get_dirty_pages (struct inode *inode)
 
static int get_blocktype_secs (struct f2fs_sb_info *sbi, int block_type)
 
static block_t valid_user_blocks (struct f2fs_sb_info *sbi)
 
static block_t discard_blocks (struct f2fs_sb_info *sbi)
 
static unsigned long __bitmap_size (struct f2fs_sb_info *sbi, int flag)
 
static block_t __cp_payload (struct f2fs_sb_info *sbi)
 
static void * __bitmap_ptr (struct f2fs_sb_info *sbi, int flag)
 
static block_t __start_cp_addr (struct f2fs_sb_info *sbi)
 
static block_t __start_cp_next_addr (struct f2fs_sb_info *sbi)
 
static void __set_cp_next_pack (struct f2fs_sb_info *sbi)
 
static block_t __start_sum_addr (struct f2fs_sb_info *sbi)
 
static int inc_valid_node_count (struct f2fs_sb_info *sbi, struct inode *inode, bool is_inode)
 
static void dec_valid_node_count (struct f2fs_sb_info *sbi, struct inode *inode, bool is_inode)
 
static unsigned int valid_node_count (struct f2fs_sb_info *sbi)
 
static void inc_valid_inode_count (struct f2fs_sb_info *sbi)
 
static void dec_valid_inode_count (struct f2fs_sb_info *sbi)
 
static s64 valid_inode_count (struct f2fs_sb_info *sbi)
 
static struct page * f2fs_grab_cache_page (struct address_space *mapping, pgoff_t index, bool for_write)
 
static struct page * f2fs_pagecache_get_page (struct address_space *mapping, pgoff_t index, int fgp_flags, gfp_t gfp_mask)
 
static void f2fs_copy_page (struct page *src, struct page *dst)
 
static void f2fs_put_page (struct page *page, int unlock)
 
static void f2fs_put_dnode (struct dnode_of_data *dn)
 
static struct kmem_cache * f2fs_kmem_cache_create (const char *name, size_t size)
 
static void * f2fs_kmem_cache_alloc (struct kmem_cache *cachep, gfp_t flags)
 
static struct bio * f2fs_bio_alloc (struct f2fs_sb_info *sbi, int npages, bool no_fail)
 
static void f2fs_radix_tree_insert (struct radix_tree_root *root, unsigned long index, void *item)
 
static bool IS_INODE (struct page *page)
 
static int offset_in_addr (struct f2fs_inode *i)
 
static __le32 * blkaddr_in_node (struct f2fs_node *node)
 
static int f2fs_has_extra_attr (struct inode *inode)
 
static block_t datablock_addr (struct inode *inode, struct page *node_page, unsigned int offset)
 
static int f2fs_test_bit (unsigned int nr, char *addr)
 
static void f2fs_set_bit (unsigned int nr, char *addr)
 
static void f2fs_clear_bit (unsigned int nr, char *addr)
 
static int f2fs_test_and_set_bit (unsigned int nr, char *addr)
 
static int f2fs_test_and_clear_bit (unsigned int nr, char *addr)
 
static void f2fs_change_bit (unsigned int nr, char *addr)
 
static __u32 f2fs_mask_flags (umode_t mode, __u32 flags)
 
static void __mark_inode_dirty_flag (struct inode *inode, int flag, bool set)
 
static void set_inode_flag (struct inode *inode, int flag)
 
static int is_inode_flag_set (struct inode *inode, int flag)
 
static void clear_inode_flag (struct inode *inode, int flag)
 
static void set_acl_inode (struct inode *inode, umode_t mode)
 
static void f2fs_i_links_write (struct inode *inode, bool inc)
 
static void f2fs_i_size_write (struct inode *inode, loff_t i_size)
 
static void f2fs_i_depth_write (struct inode *inode, unsigned int depth)
 
static void f2fs_i_gc_failures_write (struct inode *inode, unsigned int count)
 
static void f2fs_i_xnid_write (struct inode *inode, nid_t xnid)
 
static void f2fs_i_pino_write (struct inode *inode, nid_t pino)
 
static void get_inline_info (struct inode *inode, struct f2fs_inode *ri)
 
static void set_raw_inline (struct inode *inode, struct f2fs_inode *ri)
 
static int f2fs_has_inline_xattr (struct inode *inode)
 
static unsigned int addrs_per_inode (struct inode *inode)
 
static void * inline_xattr_addr (struct inode *inode, struct page *page)
 
static int inline_xattr_size (struct inode *inode)
 
static int f2fs_has_inline_data (struct inode *inode)
 
static int f2fs_exist_data (struct inode *inode)
 
static int f2fs_has_inline_dots (struct inode *inode)
 
static bool f2fs_is_pinned_file (struct inode *inode)
 
static bool f2fs_is_atomic_file (struct inode *inode)
 
static bool f2fs_is_commit_atomic_write (struct inode *inode)
 
static bool f2fs_is_volatile_file (struct inode *inode)
 
static bool f2fs_is_first_block_written (struct inode *inode)
 
static bool f2fs_is_drop_cache (struct inode *inode)
 
static void * inline_data_addr (struct inode *inode, struct page *page)
 
static int f2fs_has_inline_dentry (struct inode *inode)
 
static int is_file (struct inode *inode, int type)
 
static void set_file (struct inode *inode, int type)
 
static void clear_file (struct inode *inode, int type)
 
static bool f2fs_skip_inode_update (struct inode *inode, int dsync)
 
static bool f2fs_readonly (struct super_block *sb)
 
static bool f2fs_cp_error (struct f2fs_sb_info *sbi)
 
static bool is_dot_dotdot (const struct qstr *str)
 
static bool f2fs_may_extent_tree (struct inode *inode)
 
static void * f2fs_kmalloc (struct f2fs_sb_info *sbi, size_t size, gfp_t flags)
 
static void * f2fs_kzalloc (struct f2fs_sb_info *sbi, size_t size, gfp_t flags)
 
static void * f2fs_kvmalloc (struct f2fs_sb_info *sbi, size_t size, gfp_t flags)
 
static void * f2fs_kvzalloc (struct f2fs_sb_info *sbi, size_t size, gfp_t flags)
 
static void f2fs_reset_iostat (struct f2fs_sb_info *sbi)
 
static void f2fs_update_iostat (struct f2fs_sb_info *sbi, enum iostat_type type, unsigned long long io_bytes)
 
int f2fs_sync_file (struct file *file, loff_t start, loff_t end, int datasync)
 
void truncate_data_blocks (struct dnode_of_data *dn)
 
int truncate_blocks (struct inode *inode, u64 from, bool lock)
 
int f2fs_truncate (struct inode *inode)
 
int f2fs_getattr (const struct path *path, struct kstat *stat, u32 request_mask, unsigned int flags)
 
int f2fs_setattr (struct dentry *dentry, struct iattr *attr)
 
int truncate_hole (struct inode *inode, pgoff_t pg_start, pgoff_t pg_end)
 
void truncate_data_blocks_range (struct dnode_of_data *dn, int count)
 
int f2fs_precache_extents (struct inode *inode)
 
long f2fs_ioctl (struct file *filp, unsigned int cmd, unsigned long arg)
 
long f2fs_compat_ioctl (struct file *file, unsigned int cmd, unsigned long arg)
 
int f2fs_pin_file_control (struct inode *inode, bool inc)
 
void f2fs_set_inode_flags (struct inode *inode)
 
bool f2fs_inode_chksum_verify (struct f2fs_sb_info *sbi, struct page *page)
 
void f2fs_inode_chksum_set (struct f2fs_sb_info *sbi, struct page *page)
 
struct inodef2fs_iget (struct super_block *sb, unsigned long ino)
 
struct inodef2fs_iget_retry (struct super_block *sb, unsigned long ino)
 
int try_to_free_nats (struct f2fs_sb_info *sbi, int nr_shrink)
 
void update_inode (struct inode *inode, struct page *node_page)
 
void update_inode_page (struct inode *inode)
 
int f2fs_write_inode (struct inode *inode, struct writeback_control *wbc)
 
void f2fs_evict_inode (struct inode *inode)
 
void handle_failed_inode (struct inode *inode)
 
int update_extension_list (struct f2fs_sb_info *sbi, const char *name, bool hot, bool set)
 
struct dentry * f2fs_get_parent (struct dentry *child)
 
void set_de_type (struct f2fs_dir_entry *de, umode_t mode)
 
unsigned char get_de_type (struct f2fs_dir_entry *de)
 
struct f2fs_dir_entry * find_target_dentry (struct fscrypt_name *fname, f2fs_hash_t namehash, int *max_slots, struct f2fs_dentry_ptr *d)
 
int f2fs_fill_dentries (struct dir_context *ctx, struct f2fs_dentry_ptr *d, unsigned int start_pos, struct fscrypt_str *fstr)
 
void do_make_empty_dir (struct inode *inode, struct inode *parent, struct f2fs_dentry_ptr *d)
 
struct page * init_inode_metadata (struct inode *inode, struct inode *dir, const struct qstr *new_name, const struct qstr *orig_name, struct page *dpage)
 
void update_parent_metadata (struct inode *dir, struct inode *inode, unsigned int current_depth)
 
int room_for_filename (const void *bitmap, int slots, int max_slots)
 
void f2fs_drop_nlink (struct inode *dir, struct inode *inode)
 
struct f2fs_dir_entry * __f2fs_find_entry (struct inode *dir, struct fscrypt_name *fname, struct page **res_page)
 
struct f2fs_dir_entry * f2fs_find_entry (struct inode *dir, const struct qstr *child, struct page **res_page)
 
struct f2fs_dir_entry * f2fs_parent_dir (struct inode *dir, struct page **p)
 
ino_t f2fs_inode_by_name (struct inode *dir, const struct qstr *qstr, struct page **page)
 
void f2fs_set_link (struct inode *dir, struct f2fs_dir_entry *de, struct page *page, struct inode *inode)
 
void f2fs_update_dentry (nid_t ino, umode_t mode, struct f2fs_dentry_ptr *d, const struct qstr *name, f2fs_hash_t name_hash, unsigned int bit_pos)
 
int f2fs_add_regular_entry (struct inode *dir, const struct qstr *new_name, const struct qstr *orig_name, struct inode *inode, nid_t ino, umode_t mode)
 
int __f2fs_do_add_link (struct inode *dir, struct fscrypt_name *fname, struct inode *inode, nid_t ino, umode_t mode)
 
int __f2fs_add_link (struct inode *dir, const struct qstr *name, struct inode *inode, nid_t ino, umode_t mode)
 
void f2fs_delete_entry (struct f2fs_dir_entry *dentry, struct page *page, struct inode *dir, struct inode *inode)
 
int f2fs_do_tmpfile (struct inode *inode, struct inode *dir)
 
bool f2fs_empty_dir (struct inode *dir)
 
static int f2fs_add_link (struct dentry *dentry, struct inode *inode)
 
int f2fs_inode_dirtied (struct inode *inode, bool sync)
 
void f2fs_inode_synced (struct inode *inode)
 
int f2fs_enable_quota_files (struct f2fs_sb_info *sbi, bool rdonly)
 
void f2fs_quota_off_umount (struct super_block *sb)
 
int f2fs_commit_super (struct f2fs_sb_info *sbi, bool recover)
 
int f2fs_sync_fs (struct super_block *sb, int sync)
 
 __printf (3, 4) void f2fs_msg(struct super_block *sb
 
const char const char int sanity_check_ckpt (struct f2fs_sb_info *sbi)
 
f2fs_hash_t f2fs_dentry_hash (const struct qstr *name_info, struct fscrypt_name *fname)
 
bool available_free_memory (struct f2fs_sb_info *sbi, int type)
 
int need_dentry_mark (struct f2fs_sb_info *sbi, nid_t nid)
 
bool is_checkpointed_node (struct f2fs_sb_info *sbi, nid_t nid)
 
bool need_inode_block_update (struct f2fs_sb_info *sbi, nid_t ino)
 
void get_node_info (struct f2fs_sb_info *sbi, nid_t nid, struct node_info *ni)
 
pgoff_t get_next_page_offset (struct dnode_of_data *dn, pgoff_t pgofs)
 
int get_dnode_of_data (struct dnode_of_data *dn, pgoff_t index, int mode)
 
int truncate_inode_blocks (struct inode *inode, pgoff_t from)
 
int truncate_xattr_node (struct inode *inode)
 
int wait_on_node_pages_writeback (struct f2fs_sb_info *sbi, nid_t ino)
 
int remove_inode_page (struct inode *inode)
 
struct page * new_inode_page (struct inode *inode)
 
struct page * new_node_page (struct dnode_of_data *dn, unsigned int ofs)
 
void ra_node_page (struct f2fs_sb_info *sbi, nid_t nid)
 
struct page * get_node_page (struct f2fs_sb_info *sbi, pgoff_t nid)
 
struct page * get_node_page_ra (struct page *parent, int start)
 
void move_node_page (struct page *node_page, int gc_type)
 
int fsync_node_pages (struct f2fs_sb_info *sbi, struct inode *inode, struct writeback_control *wbc, bool atomic)
 
int sync_node_pages (struct f2fs_sb_info *sbi, struct writeback_control *wbc, bool do_balance, enum iostat_type io_type)
 
void build_free_nids (struct f2fs_sb_info *sbi, bool sync, bool mount)
 
bool alloc_nid (struct f2fs_sb_info *sbi, nid_t *nid)
 
void alloc_nid_done (struct f2fs_sb_info *sbi, nid_t nid)
 
void alloc_nid_failed (struct f2fs_sb_info *sbi, nid_t nid)
 
int try_to_free_nids (struct f2fs_sb_info *sbi, int nr_shrink)
 
void recover_inline_xattr (struct inode *inode, struct page *page)
 
int recover_xattr_data (struct inode *inode, struct page *page)
 
int recover_inode_page (struct f2fs_sb_info *sbi, struct page *page)
 
void restore_node_summary (struct f2fs_sb_info *sbi, unsigned int segno, struct f2fs_summary_block *sum)
 
void flush_nat_entries (struct f2fs_sb_info *sbi, struct cp_control *cpc)
 
int build_node_manager (struct f2fs_sb_info *sbi)
 
void destroy_node_manager (struct f2fs_sb_info *sbi)
 
int __init create_node_manager_caches (void)
 
void destroy_node_manager_caches (void)
 
bool need_SSR (struct f2fs_sb_info *sbi)
 
void register_inmem_page (struct inode *inode, struct page *page)
 
void drop_inmem_pages_all (struct f2fs_sb_info *sbi)
 
void drop_inmem_pages (struct inode *inode)
 
void drop_inmem_page (struct inode *inode, struct page *page)
 
int commit_inmem_pages (struct inode *inode)
 
void f2fs_balance_fs (struct f2fs_sb_info *sbi, bool need)
 
void f2fs_balance_fs_bg (struct f2fs_sb_info *sbi)
 
int f2fs_issue_flush (struct f2fs_sb_info *sbi, nid_t ino)
 
int create_flush_cmd_control (struct f2fs_sb_info *sbi)
 
int f2fs_flush_device_cache (struct f2fs_sb_info *sbi)
 
void destroy_flush_cmd_control (struct f2fs_sb_info *sbi, bool free)
 
void invalidate_blocks (struct f2fs_sb_info *sbi, block_t addr)
 
bool is_checkpointed_data (struct f2fs_sb_info *sbi, block_t blkaddr)
 
void init_discard_policy (struct discard_policy *dpolicy, int discard_type, unsigned int granularity)
 
void drop_discard_cmd (struct f2fs_sb_info *sbi)
 
void stop_discard_thread (struct f2fs_sb_info *sbi)
 
bool f2fs_wait_discard_bios (struct f2fs_sb_info *sbi)
 
void clear_prefree_segments (struct f2fs_sb_info *sbi, struct cp_control *cpc)
 
void release_discard_addrs (struct f2fs_sb_info *sbi)
 
int npages_for_summary_flush (struct f2fs_sb_info *sbi, bool for_ra)
 
void allocate_new_segments (struct f2fs_sb_info *sbi)
 
int f2fs_trim_fs (struct f2fs_sb_info *sbi, struct fstrim_range *range)
 
bool exist_trim_candidates (struct f2fs_sb_info *sbi, struct cp_control *cpc)
 
struct page * get_sum_page (struct f2fs_sb_info *sbi, unsigned int segno)
 
void update_meta_page (struct f2fs_sb_info *sbi, void *src, block_t blk_addr)
 
void write_meta_page (struct f2fs_sb_info *sbi, struct page *page, enum iostat_type io_type)
 
void write_node_page (unsigned int nid, struct f2fs_io_info *fio)
 
void write_data_page (struct dnode_of_data *dn, struct f2fs_io_info *fio)
 
int rewrite_data_page (struct f2fs_io_info *fio)
 
void __f2fs_replace_block (struct f2fs_sb_info *sbi, struct f2fs_summary *sum, block_t old_blkaddr, block_t new_blkaddr, bool recover_curseg, bool recover_newaddr)
 
void f2fs_replace_block (struct f2fs_sb_info *sbi, struct dnode_of_data *dn, block_t old_addr, block_t new_addr, unsigned char version, bool recover_curseg, bool recover_newaddr)
 
void allocate_data_block (struct f2fs_sb_info *sbi, struct page *page, block_t old_blkaddr, block_t *new_blkaddr, struct f2fs_summary *sum, int type, struct f2fs_io_info *fio, bool add_list)
 
void f2fs_wait_on_page_writeback (struct page *page, enum page_type type, bool ordered)
 
void f2fs_wait_on_block_writeback (struct f2fs_sb_info *sbi, block_t blkaddr)
 
void write_data_summaries (struct f2fs_sb_info *sbi, block_t start_blk)
 
void write_node_summaries (struct f2fs_sb_info *sbi, block_t start_blk)
 
int lookup_journal_in_cursum (struct f2fs_journal *journal, int type, unsigned int val, int alloc)
 
void flush_sit_entries (struct f2fs_sb_info *sbi, struct cp_control *cpc)
 
int build_segment_manager (struct f2fs_sb_info *sbi)
 
void destroy_segment_manager (struct f2fs_sb_info *sbi)
 
int __init create_segment_manager_caches (void)
 
void destroy_segment_manager_caches (void)
 
int rw_hint_to_seg_type (enum rw_hint hint)
 
enum rw_hint io_type_to_rw_hint (struct f2fs_sb_info *sbi, enum page_type type, enum temp_type temp)
 
void f2fs_stop_checkpoint (struct f2fs_sb_info *sbi, bool end_io)
 
struct page * grab_meta_page (struct f2fs_sb_info *sbi, pgoff_t index)
 
struct page * get_meta_page (struct f2fs_sb_info *sbi, pgoff_t index)
 
struct page * get_tmp_page (struct f2fs_sb_info *sbi, pgoff_t index)
 
bool is_valid_blkaddr (struct f2fs_sb_info *sbi, block_t blkaddr, int type)
 
int ra_meta_pages (struct f2fs_sb_info *sbi, block_t start, int nrpages, int type, bool sync)
 
void ra_meta_pages_cond (struct f2fs_sb_info *sbi, pgoff_t index)
 
long sync_meta_pages (struct f2fs_sb_info *sbi, enum page_type type, long nr_to_write, enum iostat_type io_type)
 
void add_ino_entry (struct f2fs_sb_info *sbi, nid_t ino, int type)
 
void remove_ino_entry (struct f2fs_sb_info *sbi, nid_t ino, int type)
 
void release_ino_entry (struct f2fs_sb_info *sbi, bool all)
 
bool exist_written_data (struct f2fs_sb_info *sbi, nid_t ino, int mode)
 
void set_dirty_device (struct f2fs_sb_info *sbi, nid_t ino, unsigned int devidx, int type)
 
bool is_dirty_device (struct f2fs_sb_info *sbi, nid_t ino, unsigned int devidx, int type)
 
int f2fs_sync_inode_meta (struct f2fs_sb_info *sbi)
 
int acquire_orphan_inode (struct f2fs_sb_info *sbi)
 
void release_orphan_inode (struct f2fs_sb_info *sbi)
 
void add_orphan_inode (struct inode *inode)
 
void remove_orphan_inode (struct f2fs_sb_info *sbi, nid_t ino)
 
int recover_orphan_inodes (struct f2fs_sb_info *sbi)
 
int get_valid_checkpoint (struct f2fs_sb_info *sbi)
 
void update_dirty_page (struct inode *inode, struct page *page)
 
void remove_dirty_inode (struct inode *inode)
 
int sync_dirty_inodes (struct f2fs_sb_info *sbi, enum inode_type type)
 
int write_checkpoint (struct f2fs_sb_info *sbi, struct cp_control *cpc)
 
void init_ino_entry_info (struct f2fs_sb_info *sbi)
 
int __init create_checkpoint_caches (void)
 
void destroy_checkpoint_caches (void)
 
void f2fs_submit_merged_write (struct f2fs_sb_info *sbi, enum page_type type)
 
void f2fs_submit_merged_write_cond (struct f2fs_sb_info *sbi, struct inode *inode, nid_t ino, pgoff_t idx, enum page_type type)
 
void f2fs_flush_merged_writes (struct f2fs_sb_info *sbi)
 
int f2fs_submit_page_bio (struct f2fs_io_info *fio)
 
int f2fs_submit_page_write (struct f2fs_io_info *fio)
 
struct block_device * f2fs_target_device (struct f2fs_sb_info *sbi, block_t blk_addr, struct bio *bio)
 
int f2fs_target_device_index (struct f2fs_sb_info *sbi, block_t blkaddr)
 
void set_data_blkaddr (struct dnode_of_data *dn)
 
void f2fs_update_data_blkaddr (struct dnode_of_data *dn, block_t blkaddr)
 
int reserve_new_blocks (struct dnode_of_data *dn, blkcnt_t count)
 
int reserve_new_block (struct dnode_of_data *dn)
 
int f2fs_get_block (struct dnode_of_data *dn, pgoff_t index)
 
int f2fs_preallocate_blocks (struct kiocb *iocb, struct iov_iter *from)
 
int f2fs_reserve_block (struct dnode_of_data *dn, pgoff_t index)
 
struct page * get_read_data_page (struct inode *inode, pgoff_t index, int op_flags, bool for_write)
 
struct page * find_data_page (struct inode *inode, pgoff_t index)
 
struct page * get_lock_data_page (struct inode *inode, pgoff_t index, bool for_write)
 
struct page * get_new_data_page (struct inode *inode, struct page *ipage, pgoff_t index, bool new_i_size)
 
int do_write_data_page (struct f2fs_io_info *fio)
 
int f2fs_map_blocks (struct inode *inode, struct f2fs_map_blocks *map, int create, int flag)
 
int f2fs_fiemap (struct inode *inode, struct fiemap_extent_info *fieinfo, u64 start, u64 len)
 
bool should_update_inplace (struct inode *inode, struct f2fs_io_info *fio)
 
bool should_update_outplace (struct inode *inode, struct f2fs_io_info *fio)
 
void f2fs_set_page_dirty_nobuffers (struct page *page)
 
int __f2fs_write_data_pages (struct address_space *mapping, struct writeback_control *wbc, enum iostat_type io_type)
 
void f2fs_invalidate_page (struct page *page, unsigned int offset, unsigned int length)
 
int f2fs_release_page (struct page *page, gfp_t wait)
 
bool f2fs_overwrite_io (struct inode *inode, loff_t pos, size_t len)
 
int start_gc_thread (struct f2fs_sb_info *sbi)
 
void stop_gc_thread (struct f2fs_sb_info *sbi)
 
block_t start_bidx_of_node (unsigned int node_ofs, struct inode *inode)
 
int f2fs_gc (struct f2fs_sb_info *sbi, bool sync, bool background, unsigned int segno)
 
void build_gc_manager (struct f2fs_sb_info *sbi)
 
int recover_fsync_data (struct f2fs_sb_info *sbi, bool check_only)
 
bool space_for_roll_forward (struct f2fs_sb_info *sbi)
 
static int f2fs_build_stats (struct f2fs_sb_info *sbi)
 
static void f2fs_destroy_stats (struct f2fs_sb_info *sbi)
 
static int __init f2fs_create_root_stats (void)
 
static void f2fs_destroy_root_stats (void)
 
bool f2fs_may_inline_data (struct inode *inode)
 
bool f2fs_may_inline_dentry (struct inode *inode)
 
void read_inline_data (struct page *page, struct page *ipage)
 
void truncate_inline_inode (struct inode *inode, struct page *ipage, u64 from)
 
int f2fs_read_inline_data (struct inode *inode, struct page *page)
 
int f2fs_convert_inline_page (struct dnode_of_data *dn, struct page *page)
 
int f2fs_convert_inline_inode (struct inode *inode)
 
int f2fs_write_inline_data (struct inode *inode, struct page *page)
 
bool recover_inline_data (struct inode *inode, struct page *npage)
 
struct f2fs_dir_entry * find_in_inline_dir (struct inode *dir, struct fscrypt_name *fname, struct page **res_page)
 
int make_empty_inline_dir (struct inode *inode, struct inode *parent, struct page *ipage)
 
int f2fs_add_inline_entry (struct inode *dir, const struct qstr *new_name, const struct qstr *orig_name, struct inode *inode, nid_t ino, umode_t mode)
 
void f2fs_delete_inline_entry (struct f2fs_dir_entry *dentry, struct page *page, struct inode *dir, struct inode *inode)
 
bool f2fs_empty_inline_dir (struct inode *dir)
 
int f2fs_read_inline_dir (struct file *file, struct dir_context *ctx, struct fscrypt_str *fstr)
 
int f2fs_inline_data_fiemap (struct inode *inode, struct fiemap_extent_info *fieinfo, __u64 start, __u64 len)
 
unsigned long f2fs_shrink_count (struct shrinker *shrink, struct shrink_control *sc)
 
unsigned long f2fs_shrink_scan (struct shrinker *shrink, struct shrink_control *sc)
 
void f2fs_join_shrinker (struct f2fs_sb_info *sbi)
 
void f2fs_leave_shrinker (struct f2fs_sb_info *sbi)
 
struct rb_entry__lookup_rb_tree (struct rb_root *root, struct rb_entry *cached_re, unsigned int ofs)
 
struct rb_node ** __lookup_rb_tree_for_insert (struct f2fs_sb_info *sbi, struct rb_root *root, struct rb_node **parent, unsigned int ofs)
 
struct rb_entry__lookup_rb_tree_ret (struct rb_root *root, struct rb_entry *cached_re, unsigned int ofs, struct rb_entry **prev_entry, struct rb_entry **next_entry, struct rb_node ***insert_p, struct rb_node **insert_parent, bool force)
 
bool __check_rb_tree_consistence (struct f2fs_sb_info *sbi, struct rb_root *root)
 
unsigned int f2fs_shrink_extent_tree (struct f2fs_sb_info *sbi, int nr_shrink)
 
bool f2fs_init_extent_tree (struct inode *inode, struct f2fs_extent *i_ext)
 
void f2fs_drop_extent_tree (struct inode *inode)
 
unsigned int f2fs_destroy_extent_node (struct inode *inode)
 
void f2fs_destroy_extent_tree (struct inode *inode)
 
bool f2fs_lookup_extent_cache (struct inode *inode, pgoff_t pgofs, struct extent_info *ei)
 
void f2fs_update_extent_cache (struct dnode_of_data *dn)
 
void f2fs_update_extent_cache_range (struct dnode_of_data *dn, pgoff_t fofs, block_t blkaddr, unsigned int len)
 
void init_extent_cache_info (struct f2fs_sb_info *sbi)
 
int __init create_extent_cache (void)
 
void destroy_extent_cache (void)
 
int __init f2fs_init_sysfs (void)
 
void f2fs_exit_sysfs (void)
 
int f2fs_register_sysfs (struct f2fs_sb_info *sbi)
 
void f2fs_unregister_sysfs (struct f2fs_sb_info *sbi)
 
static bool f2fs_encrypted_inode (struct inode *inode)
 
static bool f2fs_encrypted_file (struct inode *inode)
 
static void f2fs_set_encrypted_inode (struct inode *inode)
 
static bool f2fs_bio_encrypted (struct bio *bio)
 
 F2FS_FEATURE_FUNCS (encrypt, ENCRYPT)
 
 F2FS_FEATURE_FUNCS (blkzoned, BLKZONED)
 
 F2FS_FEATURE_FUNCS (extra_attr, EXTRA_ATTR)
 
 F2FS_FEATURE_FUNCS (project_quota, PRJQUOTA)
 
 F2FS_FEATURE_FUNCS (inode_chksum, INODE_CHKSUM)
 
 F2FS_FEATURE_FUNCS (flexible_inline_xattr, FLEXIBLE_INLINE_XATTR)
 
 F2FS_FEATURE_FUNCS (quota_ino, QUOTA_INO)
 
 F2FS_FEATURE_FUNCS (inode_crtime, INODE_CRTIME)
 
 F2FS_FEATURE_FUNCS (lost_found, LOST_FOUND)
 
static bool f2fs_discard_en (struct f2fs_sb_info *sbi)
 
static void set_opt_mode (struct f2fs_sb_info *sbi, unsigned int mt)
 
static bool f2fs_may_encrypt (struct inode *inode)
 
static bool f2fs_force_buffered_io (struct inode *inode, int rw)
 

Variables

const char * level
 
const char const char * fmt
 
const struct file_operations f2fs_dir_operations
 
const struct file_operations f2fs_file_operations
 
const struct inode_operations f2fs_file_inode_operations
 
const struct address_space_operations f2fs_dblock_aops
 
const struct address_space_operations f2fs_node_aops
 
const struct address_space_operations f2fs_meta_aops
 
const struct inode_operations f2fs_dir_inode_operations
 
const struct inode_operations f2fs_symlink_inode_operations
 
const struct inode_operations f2fs_encrypted_symlink_inode_operations
 
const struct inode_operations f2fs_special_inode_operations
 
struct kmem_cache * inode_entry_slab
 

Macro Definition Documentation

◆ __FS_HAS_ENCRYPTION

#define __FS_HAS_ENCRYPTION   IS_ENABLED(CONFIG_F2FS_FS_ENCRYPTION)

◆ BATCHED_TRIM_BLOCKS

#define BATCHED_TRIM_BLOCKS (   sbi)    (BATCHED_TRIM_SEGMENTS(sbi) << (sbi)->log_blocks_per_seg)

◆ BATCHED_TRIM_SEGMENTS

#define BATCHED_TRIM_SEGMENTS (   sbi)    (GET_SEG_FROM_SEC(sbi, SM_I(sbi)->trim_sections))

◆ BD_PART_WRITTEN

#define BD_PART_WRITTEN (   s)
Value:
(((u64)part_stat_read((s)->sb->s_bdev->bd_part, sectors[1]) - \
(s)->sectors_written_start) >> 1)

◆ clear_opt

#define clear_opt (   sbi,
  option 
)    (F2FS_OPTION(sbi).opt &= ~F2FS_MOUNT_##option)

◆ CP_DISCARD

#define CP_DISCARD   0x00000010

◆ CP_FASTBOOT

#define CP_FASTBOOT   0x00000002

◆ CP_RECOVERY

#define CP_RECOVERY   0x00000008

◆ CP_SYNC

#define CP_SYNC   0x00000004

◆ CP_TRIMMED

#define CP_TRIMMED   0x00000020

◆ CP_UMOUNT

#define CP_UMOUNT   0x00000001

◆ DEF_BATCHED_TRIM_SECTIONS

#define DEF_BATCHED_TRIM_SECTIONS   2048

◆ DEF_CP_INTERVAL

#define DEF_CP_INTERVAL   60 /* 60 secs */

◆ DEF_DIR_LEVEL

#define DEF_DIR_LEVEL   0

◆ DEF_IDLE_INTERVAL

#define DEF_IDLE_INTERVAL   5 /* 5 secs */

◆ DEF_INLINE_RESERVED_SIZE

#define DEF_INLINE_RESERVED_SIZE   1

◆ DEF_MAX_DISCARD_ISSUE_TIME

#define DEF_MAX_DISCARD_ISSUE_TIME   60000 /* 60 s, if no candidates */

◆ DEF_MAX_DISCARD_REQUEST

#define DEF_MAX_DISCARD_REQUEST   8 /* issue 8 discards per round */

◆ DEF_MIN_DISCARD_ISSUE_TIME

#define DEF_MIN_DISCARD_ISSUE_TIME   50 /* 50 ms, if exists */

◆ DEF_MIN_INLINE_SIZE

#define DEF_MIN_INLINE_SIZE   1

◆ DEFAULT_DISCARD_GRANULARITY

#define DEFAULT_DISCARD_GRANULARITY   16

◆ DUMMY_ENCRYPTION_ENABLED

#define DUMMY_ENCRYPTION_ENABLED (   sbi)    (0)

◆ EXT_TREE_VEC_SIZE

#define EXT_TREE_VEC_SIZE   64

◆ EXTENT_CACHE_SHRINK_NUMBER

#define EXTENT_CACHE_SHRINK_NUMBER   128

◆ f2fs_bug_on

#define f2fs_bug_on (   sbi,
  condition 
)
Value:
do { \
if (unlikely(condition)) { \
WARN_ON(1); \
set_sbi_flag(sbi, SBI_NEED_FSCK); \
} \
} while (0)
Definition: f2fs.h:1057

◆ F2FS_CLEAR_FEATURE

#define F2FS_CLEAR_FEATURE (   sb,
  mask 
)    (F2FS_SB(sb)->raw_super->feature &= ~cpu_to_le32(mask))

◆ F2FS_DEF_RESGID

#define F2FS_DEF_RESGID   0

◆ F2FS_DEF_RESUID

#define F2FS_DEF_RESUID   0

◆ F2FS_FEATURE_ATOMIC_WRITE

#define F2FS_FEATURE_ATOMIC_WRITE   0x0004

◆ F2FS_FEATURE_BLKZONED

#define F2FS_FEATURE_BLKZONED   0x0002

◆ F2FS_FEATURE_ENCRYPT

#define F2FS_FEATURE_ENCRYPT   0x0001

◆ F2FS_FEATURE_EXTRA_ATTR

#define F2FS_FEATURE_EXTRA_ATTR   0x0008

◆ F2FS_FEATURE_FLEXIBLE_INLINE_XATTR

#define F2FS_FEATURE_FLEXIBLE_INLINE_XATTR   0x0040

◆ F2FS_FEATURE_FUNCS

#define F2FS_FEATURE_FUNCS (   name,
  flagname 
)
Value:
static inline int f2fs_sb_has_##name(struct super_block *sb) \
{ \
return F2FS_HAS_FEATURE(sb, F2FS_FEATURE_##flagname); \
}
Definition: ubifs.h:968
#define F2FS_HAS_FEATURE(sb, mask)
Definition: f2fs.h:151
const struct super_block * sb
Definition: debug.h:62
char name[16]
Definition: cifspdu.h:457

◆ F2FS_FEATURE_INODE_CHKSUM

#define F2FS_FEATURE_INODE_CHKSUM   0x0020

◆ F2FS_FEATURE_INODE_CRTIME

#define F2FS_FEATURE_INODE_CRTIME   0x0100

◆ F2FS_FEATURE_LOST_FOUND

#define F2FS_FEATURE_LOST_FOUND   0x0200

◆ F2FS_FEATURE_PRJQUOTA

#define F2FS_FEATURE_PRJQUOTA   0x0010

◆ F2FS_FEATURE_QUOTA_INO

#define F2FS_FEATURE_QUOTA_INO   0x0080

◆ F2FS_FEATURE_VERITY

#define F2FS_FEATURE_VERITY   0x0400 /* reserved */

◆ F2FS_FITS_IN_INODE

#define F2FS_FITS_IN_INODE (   f2fs_inode,
  extra_isize,
  field 
)
Value:
((offsetof(typeof(*f2fs_inode), field) + \
sizeof((f2fs_inode)->field)) \
<= (F2FS_OLD_ATTRIBUTE_SIZE + extra_isize)) \
#define F2FS_OLD_ATTRIBUTE_SIZE
Definition: f2fs.h:2579

◆ F2FS_FL_INHERITED

#define F2FS_FL_INHERITED   (FS_PROJINHERIT_FL)

◆ F2FS_GOING_DOWN_FULLSYNC

#define F2FS_GOING_DOWN_FULLSYNC   0x0 /* going down with full sync */

◆ F2FS_GOING_DOWN_METAFLUSH

#define F2FS_GOING_DOWN_METAFLUSH   0x3 /* going down with meta flush */

◆ F2FS_GOING_DOWN_METASYNC

#define F2FS_GOING_DOWN_METASYNC   0x1 /* going down with metadata */

◆ F2FS_GOING_DOWN_NOSYNC

#define F2FS_GOING_DOWN_NOSYNC   0x2 /* going down */

◆ F2FS_HAS_FEATURE

#define F2FS_HAS_FEATURE (   sb,
  mask 
)    ((F2FS_SB(sb)->raw_super->feature & cpu_to_le32(mask)) != 0)

◆ F2FS_IOC_ABORT_VOLATILE_WRITE

#define F2FS_IOC_ABORT_VOLATILE_WRITE   _IO(F2FS_IOCTL_MAGIC, 5)

◆ F2FS_IOC_COMMIT_ATOMIC_WRITE

#define F2FS_IOC_COMMIT_ATOMIC_WRITE   _IO(F2FS_IOCTL_MAGIC, 2)

◆ F2FS_IOC_DEFRAGMENT

#define F2FS_IOC_DEFRAGMENT
Value:
_IOWR(F2FS_IOCTL_MAGIC, 8, \
Definition: f2fs.h:418
#define F2FS_IOCTL_MAGIC
Definition: f2fs.h:365

◆ F2FS_IOC_FLUSH_DEVICE

#define F2FS_IOC_FLUSH_DEVICE
Value:
_IOW(F2FS_IOCTL_MAGIC, 10, \
#define F2FS_IOCTL_MAGIC
Definition: f2fs.h:365
Definition: f2fs.h:430

◆ F2FS_IOC_FSGETXATTR

#define F2FS_IOC_FSGETXATTR   FS_IOC_FSGETXATTR

◆ F2FS_IOC_FSSETXATTR

#define F2FS_IOC_FSSETXATTR   FS_IOC_FSSETXATTR

◆ F2FS_IOC_GARBAGE_COLLECT

#define F2FS_IOC_GARBAGE_COLLECT   _IOW(F2FS_IOCTL_MAGIC, 6, __u32)

◆ F2FS_IOC_GARBAGE_COLLECT_RANGE

#define F2FS_IOC_GARBAGE_COLLECT_RANGE
Value:
_IOW(F2FS_IOCTL_MAGIC, 11, \
struct f2fs_gc_range)
#define F2FS_IOCTL_MAGIC
Definition: f2fs.h:365
Definition: f2fs.h:412

◆ F2FS_IOC_GET_ENCRYPTION_POLICY

#define F2FS_IOC_GET_ENCRYPTION_POLICY   FS_IOC_GET_ENCRYPTION_POLICY

◆ F2FS_IOC_GET_ENCRYPTION_PWSALT

#define F2FS_IOC_GET_ENCRYPTION_PWSALT   FS_IOC_GET_ENCRYPTION_PWSALT

◆ F2FS_IOC_GET_FEATURES

#define F2FS_IOC_GET_FEATURES   _IOR(F2FS_IOCTL_MAGIC, 12, __u32)

◆ F2FS_IOC_GET_PIN_FILE

#define F2FS_IOC_GET_PIN_FILE   _IOR(F2FS_IOCTL_MAGIC, 14, __u32)

◆ F2FS_IOC_GETFLAGS

#define F2FS_IOC_GETFLAGS   FS_IOC_GETFLAGS

◆ F2FS_IOC_GETVERSION

#define F2FS_IOC_GETVERSION   FS_IOC_GETVERSION

◆ F2FS_IOC_MOVE_RANGE

#define F2FS_IOC_MOVE_RANGE
Value:
_IOWR(F2FS_IOCTL_MAGIC, 9, \
#define F2FS_IOCTL_MAGIC
Definition: f2fs.h:365
Definition: f2fs.h:423

◆ F2FS_IOC_PRECACHE_EXTENTS

#define F2FS_IOC_PRECACHE_EXTENTS   _IO(F2FS_IOCTL_MAGIC, 15)

◆ F2FS_IOC_RELEASE_VOLATILE_WRITE

#define F2FS_IOC_RELEASE_VOLATILE_WRITE   _IO(F2FS_IOCTL_MAGIC, 4)

◆ F2FS_IOC_SET_ENCRYPTION_POLICY

#define F2FS_IOC_SET_ENCRYPTION_POLICY   FS_IOC_SET_ENCRYPTION_POLICY

◆ F2FS_IOC_SET_PIN_FILE

#define F2FS_IOC_SET_PIN_FILE   _IOW(F2FS_IOCTL_MAGIC, 13, __u32)

◆ F2FS_IOC_SETFLAGS

#define F2FS_IOC_SETFLAGS   FS_IOC_SETFLAGS

◆ F2FS_IOC_SHUTDOWN

#define F2FS_IOC_SHUTDOWN   _IOR('X', 125, __u32) /* Shutdown */

◆ F2FS_IOC_START_ATOMIC_WRITE

#define F2FS_IOC_START_ATOMIC_WRITE   _IO(F2FS_IOCTL_MAGIC, 1)

◆ F2FS_IOC_START_VOLATILE_WRITE

#define F2FS_IOC_START_VOLATILE_WRITE   _IO(F2FS_IOCTL_MAGIC, 3)

◆ F2FS_IOC_WRITE_CHECKPOINT

#define F2FS_IOC_WRITE_CHECKPOINT   _IO(F2FS_IOCTL_MAGIC, 7)

◆ F2FS_IOCTL_MAGIC

#define F2FS_IOCTL_MAGIC   0xf5

◆ F2FS_LINK_MAX

#define F2FS_LINK_MAX   0xffffffff /* maximum link count per file */

◆ F2FS_MAP_FLAGS

#define F2FS_MAP_FLAGS
Value:
F2FS_MAP_UNWRITTEN)
#define F2FS_MAP_NEW
Definition: f2fs.h:567
#define F2FS_MAP_MAPPED
Definition: f2fs.h:568

◆ F2FS_MAP_MAPPED

#define F2FS_MAP_MAPPED   (1 << BH_Mapped)

◆ F2FS_MAP_NEW

#define F2FS_MAP_NEW   (1 << BH_New)

◆ F2FS_MAP_UNWRITTEN

#define F2FS_MAP_UNWRITTEN   (1 << BH_Unwritten)

◆ F2FS_MIN_EXTENT_LEN

#define F2FS_MIN_EXTENT_LEN   64 /* minimum extent length */

◆ F2FS_MOUNT_ADAPTIVE

#define F2FS_MOUNT_ADAPTIVE   0x00020000

◆ F2FS_MOUNT_BG_GC

#define F2FS_MOUNT_BG_GC   0x00000001

◆ F2FS_MOUNT_DATA_FLUSH

#define F2FS_MOUNT_DATA_FLUSH   0x00008000

◆ F2FS_MOUNT_DISABLE_EXT_IDENTIFY

#define F2FS_MOUNT_DISABLE_EXT_IDENTIFY   0x00000040

◆ F2FS_MOUNT_DISABLE_ROLL_FORWARD

#define F2FS_MOUNT_DISABLE_ROLL_FORWARD   0x00000002

◆ F2FS_MOUNT_DISCARD

#define F2FS_MOUNT_DISCARD   0x00000004

◆ F2FS_MOUNT_EXTENT_CACHE

#define F2FS_MOUNT_EXTENT_CACHE   0x00002000

◆ F2FS_MOUNT_FASTBOOT

#define F2FS_MOUNT_FASTBOOT   0x00001000

◆ F2FS_MOUNT_FAULT_INJECTION

#define F2FS_MOUNT_FAULT_INJECTION   0x00010000

◆ F2FS_MOUNT_FLUSH_MERGE

#define F2FS_MOUNT_FLUSH_MERGE   0x00000400

◆ F2FS_MOUNT_FORCE_FG_GC

#define F2FS_MOUNT_FORCE_FG_GC   0x00004000

◆ F2FS_MOUNT_GRPQUOTA

#define F2FS_MOUNT_GRPQUOTA   0x00100000

◆ F2FS_MOUNT_INLINE_DATA

#define F2FS_MOUNT_INLINE_DATA   0x00000100

◆ F2FS_MOUNT_INLINE_DENTRY

#define F2FS_MOUNT_INLINE_DENTRY   0x00000200

◆ F2FS_MOUNT_INLINE_XATTR

#define F2FS_MOUNT_INLINE_XATTR   0x00000080

◆ F2FS_MOUNT_INLINE_XATTR_SIZE

#define F2FS_MOUNT_INLINE_XATTR_SIZE   0x00800000

◆ F2FS_MOUNT_LFS

#define F2FS_MOUNT_LFS   0x00040000

◆ F2FS_MOUNT_NOBARRIER

#define F2FS_MOUNT_NOBARRIER   0x00000800

◆ F2FS_MOUNT_NOHEAP

#define F2FS_MOUNT_NOHEAP   0x00000008

◆ F2FS_MOUNT_POSIX_ACL

#define F2FS_MOUNT_POSIX_ACL   0x00000020

◆ F2FS_MOUNT_PRJQUOTA

#define F2FS_MOUNT_PRJQUOTA   0x00200000

◆ F2FS_MOUNT_QUOTA

#define F2FS_MOUNT_QUOTA   0x00400000

◆ F2FS_MOUNT_RESERVE_ROOT

#define F2FS_MOUNT_RESERVE_ROOT   0x01000000

◆ F2FS_MOUNT_USRQUOTA

#define F2FS_MOUNT_USRQUOTA   0x00080000

◆ F2FS_MOUNT_XATTR_USER

#define F2FS_MOUNT_XATTR_USER   0x00000010

◆ F2FS_OLD_ATTRIBUTE_SIZE

#define F2FS_OLD_ATTRIBUTE_SIZE   (offsetof(struct f2fs_inode, i_addr))

◆ F2FS_OPTION

#define F2FS_OPTION (   sbi)    ((sbi)->mount_opt)

◆ F2FS_OTHER_FLMASK

#define F2FS_OTHER_FLMASK   (FS_NODUMP_FL | FS_NOATIME_FL)

◆ F2FS_REG_FLMASK

#define F2FS_REG_FLMASK   (~(FS_DIRSYNC_FL | FS_TOPDIR_FL))

◆ F2FS_SET_FEATURE

#define F2FS_SET_FEATURE (   sb,
  mask 
)    (F2FS_SB(sb)->raw_super->feature |= cpu_to_le32(mask))

◆ F2FS_TOTAL_EXTRA_ATTR_SIZE

#define F2FS_TOTAL_EXTRA_ATTR_SIZE
Value:
(offsetof(struct f2fs_inode, i_extra_end) - \
offsetof(struct f2fs_inode, i_extra_isize)) \

◆ FADVISE_COLD_BIT

#define FADVISE_COLD_BIT   0x01

◆ FADVISE_ENC_NAME_BIT

#define FADVISE_ENC_NAME_BIT   0x08

◆ FADVISE_ENCRYPT_BIT

#define FADVISE_ENCRYPT_BIT   0x04

◆ FADVISE_HOT_BIT

#define FADVISE_HOT_BIT   0x20

◆ FADVISE_KEEP_SIZE_BIT

#define FADVISE_KEEP_SIZE_BIT   0x10

◆ FADVISE_LOST_PINO_BIT

#define FADVISE_LOST_PINO_BIT   0x02

◆ FADVISE_VERITY_BIT

#define FADVISE_VERITY_BIT   0x40 /* reserved */

◆ FDEV

#define FDEV (   i)    (sbi->devs[i])

◆ file_clear_cold

#define file_clear_cold (   inode)    clear_file(inode, FADVISE_COLD_BIT)

◆ file_clear_encrypt

#define file_clear_encrypt (   inode)    clear_file(inode, FADVISE_ENCRYPT_BIT)

◆ file_clear_hot

#define file_clear_hot (   inode)    clear_file(inode, FADVISE_HOT_BIT)

◆ file_enc_name

#define file_enc_name (   inode)    is_file(inode, FADVISE_ENC_NAME_BIT)

◆ file_got_pino

#define file_got_pino (   inode)    clear_file(inode, FADVISE_LOST_PINO_BIT)

◆ file_is_cold

#define file_is_cold (   inode)    is_file(inode, FADVISE_COLD_BIT)

◆ file_is_encrypt

#define file_is_encrypt (   inode)    is_file(inode, FADVISE_ENCRYPT_BIT)

◆ file_is_hot

#define file_is_hot (   inode)    is_file(inode, FADVISE_HOT_BIT)

◆ file_keep_isize

#define file_keep_isize (   inode)    is_file(inode, FADVISE_KEEP_SIZE_BIT)

◆ file_lost_pino

#define file_lost_pino (   inode)    set_file(inode, FADVISE_LOST_PINO_BIT)

◆ file_set_cold

#define file_set_cold (   inode)    set_file(inode, FADVISE_COLD_BIT)

◆ file_set_enc_name

#define file_set_enc_name (   inode)    set_file(inode, FADVISE_ENC_NAME_BIT)

◆ file_set_encrypt

#define file_set_encrypt (   inode)    set_file(inode, FADVISE_ENCRYPT_BIT)

◆ file_set_hot

#define file_set_hot (   inode)    set_file(inode, FADVISE_HOT_BIT)

◆ file_set_keep_isize

#define file_set_keep_isize (   inode)    set_file(inode, FADVISE_KEEP_SIZE_BIT)

◆ file_wrong_pino

#define file_wrong_pino (   inode)    is_file(inode, FADVISE_LOST_PINO_BIT)

◆ get_inode_mode

#define get_inode_mode (   i)
Value:
(F2FS_I(i)->i_acl_mode) : ((i)->i_mode))
Definition: f2fs.h:2180
umode_t i_acl_mode
Definition: f2fs.h:633
static struct f2fs_inode_info * F2FS_I(struct inode *inode)
Definition: f2fs.h:1358
static int is_inode_flag_set(struct inode *inode, int flag)
Definition: f2fs.h:2230

◆ INLINE_DENTRY_BITMAP_SIZE

#define INLINE_DENTRY_BITMAP_SIZE (   inode)
Value:
BITS_PER_BYTE - 1) / BITS_PER_BYTE)
#define NR_INLINE_DENTRY(inode)
Definition: f2fs.h:446
jint32_t inode
Definition: summary.h:848
#define BITS_PER_BYTE
Definition: dlmcommon.h:708

◆ INLINE_RESERVED_SIZE

#define INLINE_RESERVED_SIZE (   inode)
Value:
((SIZE_OF_DIR_ENTRY + F2FS_SLOT_LEN) * \
INLINE_DENTRY_BITMAP_SIZE(inode)))
#define MAX_INLINE_DATA(inode)
Definition: f2fs.h:440
#define NR_INLINE_DENTRY(inode)
Definition: f2fs.h:446
jint32_t inode
Definition: summary.h:848

◆ is_read_io

#define is_read_io (   rw)    ((rw) == READ)

◆ MAX_DIR_RA_PAGES

#define MAX_DIR_RA_PAGES   4 /* maximum ra pages of dir */

◆ MAX_DISCARD_BLOCKS

#define MAX_DISCARD_BLOCKS (   sbi)    BLKS_PER_SEC(sbi)

◆ MAX_INLINE_DATA

#define MAX_INLINE_DATA (   inode)
Value:
(sizeof(__le32) * \
(CUR_ADDRS_PER_INODE(inode) - \
get_inline_xattr_addrs(inode) - \
DEF_INLINE_RESERVED_SIZE))
jint32_t inode
Definition: summary.h:848

◆ MAX_NAT_JENTRIES

#define MAX_NAT_JENTRIES (   jnl)    (NAT_JOURNAL_ENTRIES - nats_in_cursum(jnl))

◆ MAX_PLIST_NUM

#define MAX_PLIST_NUM   512

◆ MAX_SIT_JENTRIES

#define MAX_SIT_JENTRIES (   jnl)    (SIT_JOURNAL_ENTRIES - sits_in_cursum(jnl))

◆ nat_in_journal

#define nat_in_journal (   jnl,
 
)    ((jnl)->nat_j.entries[i].ne)

◆ nats_in_cursum

#define nats_in_cursum (   jnl)    (le16_to_cpu((jnl)->n_nats))

◆ nid_in_journal

#define nid_in_journal (   jnl,
 
)    ((jnl)->nat_j.entries[i].nid)

◆ NR_CURSEG_DATA_TYPE

#define NR_CURSEG_DATA_TYPE   (3)

◆ NR_CURSEG_NODE_TYPE

#define NR_CURSEG_NODE_TYPE   (3)

◆ NR_CURSEG_TYPE

#define NR_CURSEG_TYPE   (NR_CURSEG_DATA_TYPE + NR_CURSEG_NODE_TYPE)

◆ NR_INLINE_DENTRY

#define NR_INLINE_DENTRY (   inode)
Value:
((SIZE_OF_DIR_ENTRY + F2FS_SLOT_LEN) * \
#define MAX_INLINE_DATA(inode)
Definition: f2fs.h:440
jint32_t inode
Definition: summary.h:848
#define BITS_PER_BYTE
Definition: dlmcommon.h:708

◆ PAGE_TYPE_OF_BIO

#define PAGE_TYPE_OF_BIO (   type)    ((type) > META ? META : (type))

◆ plist_idx

#define plist_idx (   blk_num)
Value:
((blk_num) >= MAX_PLIST_NUM ? \
(MAX_PLIST_NUM - 1) : (blk_num - 1))
#define MAX_PLIST_NUM
Definition: f2fs.h:242

◆ RAW_IS_INODE

#define RAW_IS_INODE (   p)    ((p)->footer.nid == (p)->footer.ino)

◆ RDEV

#define RDEV (   i)    (raw_super->devs[i])

◆ segno_in_journal

#define segno_in_journal (   jnl,
 
)    ((jnl)->sit_j.entries[i].segno)

◆ set_opt

#define set_opt (   sbi,
  option 
)    (F2FS_OPTION(sbi).opt |= F2FS_MOUNT_##option)

◆ sit_in_journal

#define sit_in_journal (   jnl,
 
)    ((jnl)->sit_j.entries[i].se)

◆ sits_in_cursum

#define sits_in_cursum (   jnl)    (le16_to_cpu((jnl)->n_sits))

◆ stat_dec_atomic_write

#define stat_dec_atomic_write (   inode)    do { } while (0)

◆ stat_dec_dirty_inode

#define stat_dec_dirty_inode (   sbi,
  type 
)    do { } while (0)

◆ stat_dec_inline_dir

#define stat_dec_inline_dir (   inode)    do { } while (0)

◆ stat_dec_inline_inode

#define stat_dec_inline_inode (   inode)    do { } while (0)

◆ stat_dec_inline_xattr

#define stat_dec_inline_xattr (   inode)    do { } while (0)

◆ stat_dec_volatile_write

#define stat_dec_volatile_write (   inode)    do { } while (0)

◆ stat_inc_atomic_write

#define stat_inc_atomic_write (   inode)    do { } while (0)

◆ stat_inc_bg_cp_count

#define stat_inc_bg_cp_count (   si)    do { } while (0)

◆ stat_inc_bggc_count

#define stat_inc_bggc_count (   si)    do { } while (0)

◆ stat_inc_block_count

#define stat_inc_block_count (   sbi,
  curseg 
)    do { } while (0)

◆ stat_inc_cached_node_hit

#define stat_inc_cached_node_hit (   sbi)    do { } while (0)

◆ stat_inc_call_count

#define stat_inc_call_count (   si)    do { } while (0)

◆ stat_inc_cp_count

#define stat_inc_cp_count (   si)    do { } while (0)

◆ stat_inc_data_blk_count

#define stat_inc_data_blk_count (   sbi,
  blks,
  gc_type 
)    do { } while (0)

◆ stat_inc_dirty_inode

#define stat_inc_dirty_inode (   sbi,
  type 
)    do { } while (0)

◆ stat_inc_inline_dir

#define stat_inc_inline_dir (   inode)    do { } while (0)

◆ stat_inc_inline_inode

#define stat_inc_inline_inode (   inode)    do { } while (0)

◆ stat_inc_inline_xattr

#define stat_inc_inline_xattr (   inode)    do { } while (0)

◆ stat_inc_inplace_blocks

#define stat_inc_inplace_blocks (   sbi)    do { } while (0)

◆ stat_inc_largest_node_hit

#define stat_inc_largest_node_hit (   sbi)    do { } while (0)

◆ stat_inc_node_blk_count

#define stat_inc_node_blk_count (   sbi,
  blks,
  gc_type 
)    do { } while (0)

◆ stat_inc_rbtree_node_hit

#define stat_inc_rbtree_node_hit (   sb)    do { } while (0)

◆ stat_inc_seg_count

#define stat_inc_seg_count (   sbi,
  type,
  gc_type 
)    do { } while (0)

◆ stat_inc_seg_type

#define stat_inc_seg_type (   sbi,
  curseg 
)    do { } while (0)

◆ stat_inc_tot_blk_count

#define stat_inc_tot_blk_count (   si,
  blks 
)    do { } while (0)

◆ stat_inc_total_hit

#define stat_inc_total_hit (   sb)    do { } while (0)

◆ stat_inc_volatile_write

#define stat_inc_volatile_write (   inode)    do { } while (0)

◆ stat_update_max_atomic_write

#define stat_update_max_atomic_write (   inode)    do { } while (0)

◆ stat_update_max_volatile_write

#define stat_update_max_volatile_write (   inode)    do { } while (0)

◆ test_opt

#define test_opt (   sbi,
  option 
)    (F2FS_OPTION(sbi).opt & F2FS_MOUNT_##option)

◆ ver_after

#define ver_after (   a,
 
)
Value:
(typecheck(unsigned long long, a) && \
typecheck(unsigned long long, b) && \
((long long)((a) - (b)) > 0))

◆ WB_DATA_TYPE

#define WB_DATA_TYPE (   p)    (__is_cp_guaranteed(p) ? F2FS_WB_CP_DATA : F2FS_WB_DATA)

◆ XATTR_NODE_OFFSET

#define XATTR_NODE_OFFSET
Value:
((((unsigned int)-1) << OFFSET_BIT_SHIFT) \
>> OFFSET_BIT_SHIFT)

Typedef Documentation

◆ block_t

typedef u32 block_t

◆ nid_t

typedef u32 nid_t

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
NAT_BITMAP 
SIT_BITMAP 

◆ anonymous enum

anonymous enum
Enumerator
META_CP 
META_NAT 
META_SIT 
META_SSA 
META_POR 

◆ anonymous enum

anonymous enum
Enumerator
ORPHAN_INO 
APPEND_INO 
UPDATE_INO 
TRANS_DIR_INO 
FLUSH_INO 
MAX_INO_ENTRY 

◆ anonymous enum

anonymous enum
Enumerator
D_PREP 
D_SUBMIT 
D_DONE 

◆ anonymous enum

anonymous enum
Enumerator
DPOLICY_BG 
DPOLICY_FORCE 
DPOLICY_FSTRIM 
DPOLICY_UMOUNT 
MAX_DPOLICY 

◆ anonymous enum

anonymous enum
Enumerator
ALLOC_NODE 
LOOKUP_NODE 
LOOKUP_NODE_RA 

◆ anonymous enum

anonymous enum
Enumerator
F2FS_GET_BLOCK_DEFAULT 
F2FS_GET_BLOCK_FIEMAP 
F2FS_GET_BLOCK_BMAP 
F2FS_GET_BLOCK_PRE_DIO 
F2FS_GET_BLOCK_PRE_AIO 
F2FS_GET_BLOCK_PRECACHE 

◆ anonymous enum

anonymous enum
Enumerator
CURSEG_HOT_DATA 
CURSEG_WARM_DATA 
CURSEG_COLD_DATA 
CURSEG_HOT_NODE 
CURSEG_WARM_NODE 
CURSEG_COLD_NODE 
NO_CHECK_TYPE 

◆ anonymous enum

anonymous enum
Enumerator
SBI_IS_DIRTY 
SBI_IS_CLOSE 
SBI_NEED_FSCK 
SBI_POR_DOING 
SBI_NEED_SB_WRITE 
SBI_NEED_CP 

◆ anonymous enum

anonymous enum
Enumerator
CP_TIME 
REQ_TIME 
MAX_TIME 

◆ anonymous enum

anonymous enum
Enumerator
WHINT_MODE_OFF 
WHINT_MODE_USER 
WHINT_MODE_FS 

◆ anonymous enum

anonymous enum
Enumerator
ALLOC_MODE_DEFAULT 
ALLOC_MODE_REUSE 

◆ anonymous enum

anonymous enum
Enumerator
FI_NEW_INODE 
FI_DIRTY_INODE 
FI_AUTO_RECOVER 
FI_DIRTY_DIR 
FI_INC_LINK 
FI_ACL_MODE 
FI_NO_ALLOC 
FI_FREE_NID 
FI_NO_EXTENT 
FI_INLINE_XATTR 
FI_INLINE_DATA 
FI_INLINE_DENTRY 
FI_APPEND_WRITE 
FI_UPDATE_WRITE 
FI_NEED_IPU 
FI_ATOMIC_FILE 
FI_ATOMIC_COMMIT 
FI_VOLATILE_FILE 
FI_FIRST_BLOCK_WRITTEN 
FI_DROP_CACHE 
FI_DATA_EXIST 
FI_INLINE_DOTS 
FI_DO_DEFRAG 
FI_DIRTY_FILE 
FI_NO_PREALLOC 
FI_HOT_DATA 
FI_EXTRA_ATTR 
FI_PROJ_INHERIT 
FI_PIN_FILE 

◆ count_type

enum count_type
Enumerator
F2FS_DIRTY_DENTS 
F2FS_DIRTY_DATA 
F2FS_DIRTY_QDATA 
F2FS_DIRTY_NODES 
F2FS_DIRTY_META 
F2FS_INMEM_PAGES 
F2FS_DIRTY_IMETA 
F2FS_WB_CP_DATA 
F2FS_WB_DATA 
NR_COUNT_TYPE 

◆ cp_reason_type

Enumerator
CP_NO_NEEDED 
CP_NON_REGULAR 
CP_HARDLINK 
CP_SB_NEED_CP 
CP_WRONG_PINO 
CP_NO_SPC_ROLL 
CP_NODE_NEED_CP 
CP_FASTBOOT_MODE 
CP_SPEC_LOG_NUM 
CP_RECOVER_DIR 

◆ fsync_mode

enum fsync_mode
Enumerator
FSYNC_MODE_POSIX 
FSYNC_MODE_STRICT 

◆ inode_type

enum inode_type
Enumerator
DIR_INODE 
FILE_INODE 
DIRTY_META 
ATOMIC_FILE 
NR_INODE_TYPE 

◆ iostat_type

Enumerator
APP_DIRECT_IO 
APP_BUFFERED_IO 
APP_WRITE_IO 
APP_MAPPED_IO 
FS_DATA_IO 
FS_NODE_IO 
FS_META_IO 
FS_GC_DATA_IO 
FS_GC_NODE_IO 
FS_CP_DATA_IO 
FS_CP_NODE_IO 
FS_CP_META_IO 
FS_DISCARD 
NR_IO_TYPE 

◆ need_lock_type

Enumerator
LOCK_REQ 
LOCK_DONE 
LOCK_RETRY 

◆ nid_state

enum nid_state
Enumerator
FREE_NID 
PREALLOC_NID 
MAX_NID_STATE 

◆ page_type

enum page_type
Enumerator
DATA 
NODE 
META 
NR_PAGE_TYPE 
META_FLUSH 
INMEM 
INMEM_DROP 
INMEM_INVALIDATE 
INMEM_REVOKE 
IPU 
OPU 

◆ temp_type

enum temp_type
Enumerator
HOT 
WARM 
COLD 
NR_TEMP_TYPE 

Function Documentation

◆ __allow_reserved_blocks()

static bool __allow_reserved_blocks ( struct f2fs_sb_info sbi,
struct inode inode 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __bitmap_ptr()

static void* __bitmap_ptr ( struct f2fs_sb_info sbi,
int  flag 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __bitmap_size()

static unsigned long __bitmap_size ( struct f2fs_sb_info sbi,
int  flag 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __check_rb_tree_consistence()

bool __check_rb_tree_consistence ( struct f2fs_sb_info sbi,
struct rb_root *  root 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __clear_ckpt_flags()

static void __clear_ckpt_flags ( struct f2fs_checkpoint *  cp,
unsigned int  f 
)
inlinestatic
Here is the caller graph for this function:

◆ __cp_payload()

static block_t __cp_payload ( struct f2fs_sb_info sbi)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __exist_node_summaries()

static bool __exist_node_summaries ( struct f2fs_sb_info sbi)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __f2fs_add_link()

int __f2fs_add_link ( struct inode dir,
const struct qstr *  name,
struct inode inode,
nid_t  ino,
umode_t  mode 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __f2fs_crc32()

static u32 __f2fs_crc32 ( struct f2fs_sb_info sbi,
u32  crc,
const void *  address,
unsigned int  length 
)
inlinestatic
Here is the caller graph for this function:

◆ __f2fs_do_add_link()

int __f2fs_do_add_link ( struct inode dir,
struct fscrypt_name *  fname,
struct inode inode,
nid_t  ino,
umode_t  mode 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __f2fs_find_entry()

struct f2fs_dir_entry* __f2fs_find_entry ( struct inode dir,
struct fscrypt_name *  fname,
struct page **  res_page 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __f2fs_replace_block()

void __f2fs_replace_block ( struct f2fs_sb_info sbi,
struct f2fs_summary *  sum,
block_t  old_blkaddr,
block_t  new_blkaddr,
bool  recover_curseg,
bool  recover_newaddr 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __f2fs_write_data_pages()

int __f2fs_write_data_pages ( struct address_space *  mapping,
struct writeback_control *  wbc,
enum iostat_type  io_type 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __get_cp_reason()

static int __get_cp_reason ( struct f2fs_sb_info sbi)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __has_cursum_space()

static bool __has_cursum_space ( struct f2fs_journal *  journal,
int  size,
int  type 
)
inlinestatic
Here is the caller graph for this function:

◆ __is_back_mergeable()

static bool __is_back_mergeable ( struct extent_info cur,
struct extent_info back 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __is_discard_back_mergeable()

static bool __is_discard_back_mergeable ( struct discard_info cur,
struct discard_info back 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __is_discard_front_mergeable()

static bool __is_discard_front_mergeable ( struct discard_info cur,
struct discard_info front 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __is_discard_mergeable()

static bool __is_discard_mergeable ( struct discard_info back,
struct discard_info front 
)
inlinestatic
Here is the caller graph for this function:

◆ __is_extent_mergeable()

static bool __is_extent_mergeable ( struct extent_info back,
struct extent_info front 
)
inlinestatic
Here is the caller graph for this function:

◆ __is_front_mergeable()

static bool __is_front_mergeable ( struct extent_info cur,
struct extent_info front 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __is_set_ckpt_flags()

static bool __is_set_ckpt_flags ( struct f2fs_checkpoint *  cp,
unsigned int  f 
)
inlinestatic
Here is the caller graph for this function:

◆ __lookup_rb_tree()

struct rb_entry* __lookup_rb_tree ( struct rb_root *  root,
struct rb_entry cached_re,
unsigned int  ofs 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __lookup_rb_tree_for_insert()

struct rb_node** __lookup_rb_tree_for_insert ( struct f2fs_sb_info sbi,
struct rb_root *  root,
struct rb_node **  parent,
unsigned int  ofs 
)
Here is the caller graph for this function:

◆ __lookup_rb_tree_ret()

struct rb_entry* __lookup_rb_tree_ret ( struct rb_root *  root,
struct rb_entry cached_re,
unsigned int  ofs,
struct rb_entry **  prev_entry,
struct rb_entry **  next_entry,
struct rb_node ***  insert_p,
struct rb_node **  insert_parent,
bool  force 
)
Here is the caller graph for this function:

◆ __mark_inode_dirty_flag()

static void __mark_inode_dirty_flag ( struct inode inode,
int  flag,
bool  set 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __printf()

__printf ( ,
 
)
Here is the caller graph for this function:

◆ __remain_node_summaries()

static bool __remain_node_summaries ( int  reason)
inlinestatic
Here is the caller graph for this function:

◆ __set_ckpt_flags()

static void __set_ckpt_flags ( struct f2fs_checkpoint *  cp,
unsigned int  f 
)
inlinestatic
Here is the caller graph for this function:

◆ __set_cp_next_pack()

static void __set_cp_next_pack ( struct f2fs_sb_info sbi)
inlinestatic
Here is the caller graph for this function:

◆ __start_cp_addr()

static block_t __start_cp_addr ( struct f2fs_sb_info sbi)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __start_cp_next_addr()

static block_t __start_cp_next_addr ( struct f2fs_sb_info sbi)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __start_sum_addr()

static block_t __start_sum_addr ( struct f2fs_sb_info sbi)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __try_update_largest_extent()

static void __try_update_largest_extent ( struct inode inode,
struct extent_tree et,
struct extent_node en 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acquire_orphan_inode()

int acquire_orphan_inode ( struct f2fs_sb_info sbi)
Here is the caller graph for this function:

◆ add_ino_entry()

void add_ino_entry ( struct f2fs_sb_info sbi,
nid_t  ino,
int  type 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ add_orphan_inode()

void add_orphan_inode ( struct inode inode)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ addrs_per_inode()

static unsigned int addrs_per_inode ( struct inode inode)
inlinestatic
Here is the call graph for this function:

◆ alloc_nid()

bool alloc_nid ( struct f2fs_sb_info sbi,
nid_t nid 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ alloc_nid_done()

void alloc_nid_done ( struct f2fs_sb_info sbi,
nid_t  nid 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ alloc_nid_failed()

void alloc_nid_failed ( struct f2fs_sb_info sbi,
nid_t  nid 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ allocate_data_block()

void allocate_data_block ( struct f2fs_sb_info sbi,
struct page *  page,
block_t  old_blkaddr,
block_t new_blkaddr,
struct f2fs_summary *  sum,
int  type,
struct f2fs_io_info fio,
bool  add_list 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ allocate_new_segments()

void allocate_new_segments ( struct f2fs_sb_info sbi)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ available_free_memory()

bool available_free_memory ( struct f2fs_sb_info sbi,
int  type 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ blkaddr_in_node()

static __le32* blkaddr_in_node ( struct f2fs_node *  node)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ build_free_nids()

void build_free_nids ( struct f2fs_sb_info sbi,
bool  sync,
bool  mount 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ build_gc_manager()

void build_gc_manager ( struct f2fs_sb_info sbi)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ build_node_manager()

int build_node_manager ( struct f2fs_sb_info sbi)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ build_segment_manager()

int build_segment_manager ( struct f2fs_sb_info sbi)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ check_nid_range()

static int check_nid_range ( struct f2fs_sb_info sbi,
nid_t  nid 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ clear_ckpt_flags()

static void clear_ckpt_flags ( struct f2fs_sb_info sbi,
unsigned int  f 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ clear_file()

static void clear_file ( struct inode inode,
int  type 
)
inlinestatic
Here is the call graph for this function:

◆ clear_inode_flag()

static void clear_inode_flag ( struct inode inode,
int  flag 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ clear_prefree_segments()

void clear_prefree_segments ( struct f2fs_sb_info sbi,
struct cp_control cpc 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ clear_sbi_flag()

static void clear_sbi_flag ( struct f2fs_sb_info sbi,
unsigned int  type 
)
inlinestatic
Here is the caller graph for this function:

◆ commit_inmem_pages()

int commit_inmem_pages ( struct inode inode)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ create_checkpoint_caches()

int __init create_checkpoint_caches ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ create_extent_cache()

int __init create_extent_cache ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ create_flush_cmd_control()

int create_flush_cmd_control ( struct f2fs_sb_info sbi)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ create_node_manager_caches()

int __init create_node_manager_caches ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ create_segment_manager_caches()

int __init create_segment_manager_caches ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cur_cp_crc()

static __u64 cur_cp_crc ( struct f2fs_checkpoint *  cp)
inlinestatic
Here is the caller graph for this function:

◆ cur_cp_version()

static unsigned long long cur_cp_version ( struct f2fs_checkpoint *  cp)
inlinestatic
Here is the caller graph for this function:

◆ datablock_addr()

static block_t datablock_addr ( struct inode inode,
struct page *  node_page,
unsigned int  offset 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dec_page_count()

static void dec_page_count ( struct f2fs_sb_info sbi,
int  count_type 
)
inlinestatic
Here is the caller graph for this function:

◆ dec_valid_block_count()

static void dec_valid_block_count ( struct f2fs_sb_info sbi,
struct inode inode,
block_t  count 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dec_valid_inode_count()

static void dec_valid_inode_count ( struct f2fs_sb_info sbi)
inlinestatic
Here is the caller graph for this function:

◆ dec_valid_node_count()

static void dec_valid_node_count ( struct f2fs_sb_info sbi,
struct inode inode,
bool  is_inode 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ destroy_checkpoint_caches()

void destroy_checkpoint_caches ( void  )
Here is the caller graph for this function:

◆ destroy_extent_cache()

void destroy_extent_cache ( void  )
Here is the caller graph for this function:

◆ destroy_flush_cmd_control()

void destroy_flush_cmd_control ( struct f2fs_sb_info sbi,
bool  free 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ destroy_node_manager()

void destroy_node_manager ( struct f2fs_sb_info sbi)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ destroy_node_manager_caches()

void destroy_node_manager_caches ( void  )
Here is the caller graph for this function:

◆ destroy_segment_manager()

void destroy_segment_manager ( struct f2fs_sb_info sbi)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ destroy_segment_manager_caches()

void destroy_segment_manager_caches ( void  )
Here is the caller graph for this function:

◆ DIRTY_I()

static struct dirty_seglist_info* DIRTY_I ( struct f2fs_sb_info sbi)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ disable_nat_bits()

static void disable_nat_bits ( struct f2fs_sb_info sbi,
bool  lock 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ discard_blocks()

static block_t discard_blocks ( struct f2fs_sb_info sbi)
inlinestatic
Here is the caller graph for this function:

◆ do_make_empty_dir()

void do_make_empty_dir ( struct inode inode,
struct inode parent,
struct f2fs_dentry_ptr d 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ do_write_data_page()

int do_write_data_page ( struct f2fs_io_info fio)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ drop_discard_cmd()

void drop_discard_cmd ( struct f2fs_sb_info sbi)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ drop_inmem_page()

void drop_inmem_page ( struct inode inode,
struct page *  page 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ drop_inmem_pages()

void drop_inmem_pages ( struct inode inode)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ drop_inmem_pages_all()

void drop_inmem_pages_all ( struct f2fs_sb_info sbi)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ enabled_nat_bits()

static bool enabled_nat_bits ( struct f2fs_sb_info sbi,
struct cp_control cpc 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ exist_trim_candidates()

bool exist_trim_candidates ( struct f2fs_sb_info sbi,
struct cp_control cpc 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ exist_written_data()

bool exist_written_data ( struct f2fs_sb_info sbi,
nid_t  ino,
int  mode 
)
Here is the caller graph for this function:

◆ f2fs_add_inline_entry()

int f2fs_add_inline_entry ( struct inode dir,
const struct qstr *  new_name,
const struct qstr *  orig_name,
struct inode inode,
nid_t  ino,
umode_t  mode 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_add_link()

static int f2fs_add_link ( struct dentry *  dentry,
struct inode inode 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_add_regular_entry()

int f2fs_add_regular_entry ( struct inode dir,
const struct qstr *  new_name,
const struct qstr *  orig_name,
struct inode inode,
nid_t  ino,
umode_t  mode 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_balance_fs()

void f2fs_balance_fs ( struct f2fs_sb_info sbi,
bool  need 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_balance_fs_bg()

void f2fs_balance_fs_bg ( struct f2fs_sb_info sbi)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_bio_alloc()

static struct bio* f2fs_bio_alloc ( struct f2fs_sb_info sbi,
int  npages,
bool  no_fail 
)
static
Here is the caller graph for this function:

◆ f2fs_bio_encrypted()

static bool f2fs_bio_encrypted ( struct bio *  bio)
inlinestatic
Here is the caller graph for this function:

◆ f2fs_build_stats()

static int f2fs_build_stats ( struct f2fs_sb_info sbi)
inlinestatic

◆ f2fs_change_bit()

static void f2fs_change_bit ( unsigned int  nr,
char *  addr 
)
inlinestatic
Here is the caller graph for this function:

◆ f2fs_chksum()

static u32 f2fs_chksum ( struct f2fs_sb_info sbi,
u32  crc,
const void *  address,
unsigned int  length 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ F2FS_CKPT()

static struct f2fs_checkpoint* F2FS_CKPT ( struct f2fs_sb_info sbi)
static
Here is the caller graph for this function:

◆ f2fs_clear_bit()

static void f2fs_clear_bit ( unsigned int  nr,
char *  addr 
)
inlinestatic
Here is the caller graph for this function:

◆ f2fs_commit_super()

int f2fs_commit_super ( struct f2fs_sb_info sbi,
bool  recover 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_compat_ioctl()

long f2fs_compat_ioctl ( struct file *  file,
unsigned int  cmd,
unsigned long  arg 
)
Here is the caller graph for this function:

◆ f2fs_convert_inline_inode()

int f2fs_convert_inline_inode ( struct inode inode)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_convert_inline_page()

int f2fs_convert_inline_page ( struct dnode_of_data dn,
struct page *  page 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_copy_page()

static void f2fs_copy_page ( struct page *  src,
struct page *  dst 
)
inlinestatic
Here is the caller graph for this function:

◆ f2fs_cp_error()

static bool f2fs_cp_error ( struct f2fs_sb_info sbi)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_crc32()

static u32 f2fs_crc32 ( struct f2fs_sb_info sbi,
const void *  address,
unsigned int  length 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_crc_valid()

static bool f2fs_crc_valid ( struct f2fs_sb_info sbi,
__u32  blk_crc,
void *  buf,
size_t  buf_size 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_create_root_stats()

static int __init f2fs_create_root_stats ( void  )
inlinestatic

◆ f2fs_delete_entry()

void f2fs_delete_entry ( struct f2fs_dir_entry *  dentry,
struct page *  page,
struct inode dir,
struct inode inode 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_delete_inline_entry()

void f2fs_delete_inline_entry ( struct f2fs_dir_entry *  dentry,
struct page *  page,
struct inode dir,
struct inode inode 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_dentry_hash()

f2fs_hash_t f2fs_dentry_hash ( const struct qstr *  name_info,
struct fscrypt_name *  fname 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_destroy_extent_node()

unsigned int f2fs_destroy_extent_node ( struct inode inode)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_destroy_extent_tree()

void f2fs_destroy_extent_tree ( struct inode inode)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_destroy_root_stats()

static void f2fs_destroy_root_stats ( void  )
inlinestatic
Here is the call graph for this function:

◆ f2fs_destroy_stats()

static void f2fs_destroy_stats ( struct f2fs_sb_info sbi)
inlinestatic

◆ f2fs_discard_en()

static bool f2fs_discard_en ( struct f2fs_sb_info sbi)
inlinestatic
Here is the caller graph for this function:

◆ f2fs_do_tmpfile()

int f2fs_do_tmpfile ( struct inode inode,
struct inode dir 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_drop_extent_tree()

void f2fs_drop_extent_tree ( struct inode inode)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_drop_nlink()

void f2fs_drop_nlink ( struct inode dir,
struct inode inode 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_empty_dir()

bool f2fs_empty_dir ( struct inode dir)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_empty_inline_dir()

bool f2fs_empty_inline_dir ( struct inode dir)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_enable_quota_files()

int f2fs_enable_quota_files ( struct f2fs_sb_info sbi,
bool  rdonly 
)
Here is the caller graph for this function:

◆ f2fs_encrypted_file()

static bool f2fs_encrypted_file ( struct inode inode)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_encrypted_inode()

static bool f2fs_encrypted_inode ( struct inode inode)
inlinestatic
Here is the caller graph for this function:

◆ f2fs_evict_inode()

void f2fs_evict_inode ( struct inode inode)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_exist_data()

static int f2fs_exist_data ( struct inode inode)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_exit_sysfs()

void f2fs_exit_sysfs ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ F2FS_FEATURE_FUNCS() [1/9]

F2FS_FEATURE_FUNCS ( encrypt  ,
ENCRYPT   
)

◆ F2FS_FEATURE_FUNCS() [2/9]

F2FS_FEATURE_FUNCS ( blkzoned  ,
BLKZONED   
)

◆ F2FS_FEATURE_FUNCS() [3/9]

F2FS_FEATURE_FUNCS ( extra_attr  ,
EXTRA_ATTR   
)

◆ F2FS_FEATURE_FUNCS() [4/9]

F2FS_FEATURE_FUNCS ( project_quota  ,
PRJQUOTA   
)

◆ F2FS_FEATURE_FUNCS() [5/9]

F2FS_FEATURE_FUNCS ( inode_chksum  ,
INODE_CHKSUM   
)

◆ F2FS_FEATURE_FUNCS() [6/9]

F2FS_FEATURE_FUNCS ( flexible_inline_xattr  ,
FLEXIBLE_INLINE_XATTR   
)

◆ F2FS_FEATURE_FUNCS() [7/9]

F2FS_FEATURE_FUNCS ( quota_ino  ,
QUOTA_INO   
)

◆ F2FS_FEATURE_FUNCS() [8/9]

F2FS_FEATURE_FUNCS ( inode_crtime  ,
INODE_CRTIME   
)

◆ F2FS_FEATURE_FUNCS() [9/9]

F2FS_FEATURE_FUNCS ( lost_found  ,
LOST_FOUND   
)

◆ f2fs_fiemap()

int f2fs_fiemap ( struct inode inode,
struct fiemap_extent_info *  fieinfo,
u64  start,
u64  len 
)
Here is the call graph for this function:

◆ f2fs_fill_dentries()

int f2fs_fill_dentries ( struct dir_context *  ctx,
struct f2fs_dentry_ptr d,
unsigned int  start_pos,
struct fscrypt_str *  fstr 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_find_entry()

struct f2fs_dir_entry* f2fs_find_entry ( struct inode dir,
const struct qstr *  child,
struct page **  res_page 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_flush_device_cache()

int f2fs_flush_device_cache ( struct f2fs_sb_info sbi)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_flush_merged_writes()

void f2fs_flush_merged_writes ( struct f2fs_sb_info sbi)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_force_buffered_io()

static bool f2fs_force_buffered_io ( struct inode inode,
int  rw 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_gc()

int f2fs_gc ( struct f2fs_sb_info sbi,
bool  sync,
bool  background,
unsigned int  segno 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_get_block()

int f2fs_get_block ( struct dnode_of_data dn,
pgoff_t  index 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_get_parent()

struct dentry* f2fs_get_parent ( struct dentry *  child)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_getattr()

int f2fs_getattr ( const struct path *  path,
struct kstat *  stat,
u32  request_mask,
unsigned int  flags 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_grab_cache_page()

static struct page* f2fs_grab_cache_page ( struct address_space *  mapping,
pgoff_t  index,
bool  for_write 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ F2FS_HAS_BLOCKS()

static int F2FS_HAS_BLOCKS ( struct inode inode)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_has_extra_attr()

static int f2fs_has_extra_attr ( struct inode inode)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_has_inline_data()

static int f2fs_has_inline_data ( struct inode inode)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_has_inline_dentry()

static int f2fs_has_inline_dentry ( struct inode inode)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_has_inline_dots()

static int f2fs_has_inline_dots ( struct inode inode)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_has_inline_xattr()

static int f2fs_has_inline_xattr ( struct inode inode)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_has_xattr_block()

static bool f2fs_has_xattr_block ( unsigned int  ofs)
inlinestatic
Here is the caller graph for this function:

◆ F2FS_I()

static struct f2fs_inode_info* F2FS_I ( struct inode inode)
static

◆ f2fs_i_blocks_write()

static void f2fs_i_blocks_write ( struct inode inode,
block_t  diff,
bool  add,
bool  claim 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_i_depth_write()

static void f2fs_i_depth_write ( struct inode inode,
unsigned int  depth 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_i_gc_failures_write()

static void f2fs_i_gc_failures_write ( struct inode inode,
unsigned int  count 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_i_links_write()

static void f2fs_i_links_write ( struct inode inode,
bool  inc 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_i_pino_write()

static void f2fs_i_pino_write ( struct inode inode,
nid_t  pino 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ F2FS_I_SB()

static struct f2fs_sb_info* F2FS_I_SB ( struct inode inode)
static
Here is the call graph for this function:

◆ f2fs_i_size_write()

static void f2fs_i_size_write ( struct inode inode,
loff_t  i_size 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_i_xnid_write()

static void f2fs_i_xnid_write ( struct inode inode,
nid_t  xnid 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_iget()

struct inode* f2fs_iget ( struct super_block sb,
unsigned long  ino 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_iget_retry()

struct inode* f2fs_iget_retry ( struct super_block sb,
unsigned long  ino 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_init_extent_tree()

bool f2fs_init_extent_tree ( struct inode inode,
struct f2fs_extent *  i_ext 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_init_sysfs()

int __init f2fs_init_sysfs ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_inline_data_fiemap()

int f2fs_inline_data_fiemap ( struct inode inode,
struct fiemap_extent_info *  fieinfo,
__u64  start,
__u64  len 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ F2FS_INODE()

static struct f2fs_inode* F2FS_INODE ( struct page *  page)
static
Here is the caller graph for this function:

◆ f2fs_inode_by_name()

ino_t f2fs_inode_by_name ( struct inode dir,
const struct qstr *  qstr,
struct page **  page 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_inode_chksum_set()

void f2fs_inode_chksum_set ( struct f2fs_sb_info sbi,
struct page *  page 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_inode_chksum_verify()

bool f2fs_inode_chksum_verify ( struct f2fs_sb_info sbi,
struct page *  page 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_inode_dirtied()

int f2fs_inode_dirtied ( struct inode inode,
bool  sync 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_inode_synced()

void f2fs_inode_synced ( struct inode inode)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_invalidate_page()

void f2fs_invalidate_page ( struct page *  page,
unsigned int  offset,
unsigned int  length 
)
Here is the call graph for this function:

◆ f2fs_ioctl()

long f2fs_ioctl ( struct file *  filp,
unsigned int  cmd,
unsigned long  arg 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_is_atomic_file()

static bool f2fs_is_atomic_file ( struct inode inode)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_is_commit_atomic_write()

static bool f2fs_is_commit_atomic_write ( struct inode inode)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_is_drop_cache()

static bool f2fs_is_drop_cache ( struct inode inode)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_is_first_block_written()

static bool f2fs_is_first_block_written ( struct inode inode)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_is_pinned_file()

static bool f2fs_is_pinned_file ( struct inode inode)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_is_volatile_file()

static bool f2fs_is_volatile_file ( struct inode inode)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_issue_flush()

int f2fs_issue_flush ( struct f2fs_sb_info sbi,
nid_t  ino 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_join_shrinker()

void f2fs_join_shrinker ( struct f2fs_sb_info sbi)
Here is the caller graph for this function:

◆ f2fs_kmalloc()

static void* f2fs_kmalloc ( struct f2fs_sb_info sbi,
size_t  size,
gfp_t  flags 
)
inlinestatic
Here is the caller graph for this function:

◆ f2fs_kmem_cache_alloc()

static void* f2fs_kmem_cache_alloc ( struct kmem_cache *  cachep,
gfp_t  flags 
)
inlinestatic
Here is the caller graph for this function:

◆ f2fs_kmem_cache_create()

static struct kmem_cache* f2fs_kmem_cache_create ( const char *  name,
size_t  size 
)
static
Here is the caller graph for this function:

◆ f2fs_kvmalloc()

static void* f2fs_kvmalloc ( struct f2fs_sb_info sbi,
size_t  size,
gfp_t  flags 
)
inlinestatic
Here is the caller graph for this function:

◆ f2fs_kvzalloc()

static void* f2fs_kvzalloc ( struct f2fs_sb_info sbi,
size_t  size,
gfp_t  flags 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_kzalloc()

static void* f2fs_kzalloc ( struct f2fs_sb_info sbi,
size_t  size,
gfp_t  flags 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_leave_shrinker()

void f2fs_leave_shrinker ( struct f2fs_sb_info sbi)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_lock_all()

static void f2fs_lock_all ( struct f2fs_sb_info sbi)
inlinestatic
Here is the caller graph for this function:

◆ f2fs_lock_op()

static void f2fs_lock_op ( struct f2fs_sb_info sbi)
inlinestatic
Here is the caller graph for this function:

◆ f2fs_lookup_extent_cache()

bool f2fs_lookup_extent_cache ( struct inode inode,
pgoff_t  pgofs,
struct extent_info ei 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ F2FS_M_SB()

static struct f2fs_sb_info* F2FS_M_SB ( struct address_space *  mapping)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_map_blocks()

int f2fs_map_blocks ( struct inode inode,
struct f2fs_map_blocks map,
int  create,
int  flag 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_mark_inode_dirty_sync()

void f2fs_mark_inode_dirty_sync ( struct inode inode,
bool  sync 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_mask_flags()

static __u32 f2fs_mask_flags ( umode_t  mode,
__u32  flags 
)
inlinestatic
Here is the caller graph for this function:

◆ f2fs_may_encrypt()

static bool f2fs_may_encrypt ( struct inode inode)
inlinestatic
Here is the caller graph for this function:

◆ f2fs_may_extent_tree()

static bool f2fs_may_extent_tree ( struct inode inode)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_may_inline_data()

bool f2fs_may_inline_data ( struct inode inode)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_may_inline_dentry()

bool f2fs_may_inline_dentry ( struct inode inode)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ F2FS_NODE()

static struct f2fs_node* F2FS_NODE ( struct page *  page)
static
Here is the caller graph for this function:

◆ f2fs_overwrite_io()

bool f2fs_overwrite_io ( struct inode inode,
loff_t  pos,
size_t  len 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ F2FS_P_SB()

static struct f2fs_sb_info* F2FS_P_SB ( struct page *  page)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_pagecache_get_page()

static struct page* f2fs_pagecache_get_page ( struct address_space *  mapping,
pgoff_t  index,
int  fgp_flags,
gfp_t  gfp_mask 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_parent_dir()

struct f2fs_dir_entry* f2fs_parent_dir ( struct inode dir,
struct page **  p 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_pin_file_control()

int f2fs_pin_file_control ( struct inode inode,
bool  inc 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_preallocate_blocks()

int f2fs_preallocate_blocks ( struct kiocb *  iocb,
struct iov_iter *  from 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_precache_extents()

int f2fs_precache_extents ( struct inode inode)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_put_dnode()

static void f2fs_put_dnode ( struct dnode_of_data dn)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_put_page()

static void f2fs_put_page ( struct page *  page,
int  unlock 
)
inlinestatic
Here is the call graph for this function:

◆ f2fs_qf_ino()

static unsigned long f2fs_qf_ino ( struct super_block sb,
int  type 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_quota_off_umount()

void f2fs_quota_off_umount ( struct super_block sb)
Here is the caller graph for this function:

◆ f2fs_radix_tree_insert()

static void f2fs_radix_tree_insert ( struct radix_tree_root *  root,
unsigned long  index,
void *  item 
)
inlinestatic
Here is the caller graph for this function:

◆ F2FS_RAW_SUPER()

static struct f2fs_super_block* F2FS_RAW_SUPER ( struct f2fs_sb_info sbi)
static
Here is the caller graph for this function:

◆ f2fs_read_inline_data()

int f2fs_read_inline_data ( struct inode inode,
struct page *  page 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_read_inline_dir()

int f2fs_read_inline_dir ( struct file *  file,
struct dir_context *  ctx,
struct fscrypt_str *  fstr 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_readonly()

static bool f2fs_readonly ( struct super_block sb)
inlinestatic
Here is the caller graph for this function:

◆ f2fs_register_sysfs()

int f2fs_register_sysfs ( struct f2fs_sb_info sbi)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_release_page()

int f2fs_release_page ( struct page *  page,
gfp_t  wait 
)

◆ f2fs_replace_block()

void f2fs_replace_block ( struct f2fs_sb_info sbi,
struct dnode_of_data dn,
block_t  old_addr,
block_t  new_addr,
unsigned char  version,
bool  recover_curseg,
bool  recover_newaddr 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_reserve_block()

int f2fs_reserve_block ( struct dnode_of_data dn,
pgoff_t  index 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_reset_iostat()

static void f2fs_reset_iostat ( struct f2fs_sb_info sbi)
inlinestatic
Here is the caller graph for this function:

◆ F2FS_SB()

static struct f2fs_sb_info* F2FS_SB ( struct super_block sb)
static
Here is the caller graph for this function:

◆ f2fs_set_bit()

static void f2fs_set_bit ( unsigned int  nr,
char *  addr 
)
inlinestatic
Here is the caller graph for this function:

◆ f2fs_set_encrypted_inode()

static void f2fs_set_encrypted_inode ( struct inode inode)
inlinestatic
Here is the caller graph for this function:

◆ f2fs_set_inode_flags()

void f2fs_set_inode_flags ( struct inode inode)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_set_link()

void f2fs_set_link ( struct inode dir,
struct f2fs_dir_entry *  de,
struct page *  page,
struct inode inode 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_set_page_dirty_nobuffers()

void f2fs_set_page_dirty_nobuffers ( struct page *  page)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_setattr()

int f2fs_setattr ( struct dentry *  dentry,
struct iattr *  attr 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_shrink_count()

unsigned long f2fs_shrink_count ( struct shrinker *  shrink,
struct shrink_control *  sc 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_shrink_extent_tree()

unsigned int f2fs_shrink_extent_tree ( struct f2fs_sb_info sbi,
int  nr_shrink 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_shrink_scan()

unsigned long f2fs_shrink_scan ( struct shrinker *  shrink,
struct shrink_control *  sc 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_skip_inode_update()

static bool f2fs_skip_inode_update ( struct inode inode,
int  dsync 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_stop_checkpoint()

void f2fs_stop_checkpoint ( struct f2fs_sb_info sbi,
bool  end_io 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_submit_merged_write()

void f2fs_submit_merged_write ( struct f2fs_sb_info sbi,
enum page_type  type 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_submit_merged_write_cond()

void f2fs_submit_merged_write_cond ( struct f2fs_sb_info sbi,
struct inode inode,
nid_t  ino,
pgoff_t  idx,
enum page_type  type 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_submit_page_bio()

int f2fs_submit_page_bio ( struct f2fs_io_info fio)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_submit_page_write()

int f2fs_submit_page_write ( struct f2fs_io_info fio)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_sync_file()

int f2fs_sync_file ( struct file *  file,
loff_t  start,
loff_t  end,
int  datasync 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_sync_fs()

int f2fs_sync_fs ( struct super_block sb,
int  sync 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_sync_inode_meta()

int f2fs_sync_inode_meta ( struct f2fs_sb_info sbi)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_target_device()

struct block_device* f2fs_target_device ( struct f2fs_sb_info sbi,
block_t  blk_addr,
struct bio *  bio 
)
Here is the caller graph for this function:

◆ f2fs_target_device_index()

int f2fs_target_device_index ( struct f2fs_sb_info sbi,
block_t  blkaddr 
)
Here is the caller graph for this function:

◆ f2fs_test_and_clear_bit()

static int f2fs_test_and_clear_bit ( unsigned int  nr,
char *  addr 
)
inlinestatic
Here is the caller graph for this function:

◆ f2fs_test_and_set_bit()

static int f2fs_test_and_set_bit ( unsigned int  nr,
char *  addr 
)
inlinestatic
Here is the caller graph for this function:

◆ f2fs_test_bit()

static int f2fs_test_bit ( unsigned int  nr,
char *  addr 
)
inlinestatic
Here is the caller graph for this function:

◆ f2fs_time_over()

static bool f2fs_time_over ( struct f2fs_sb_info sbi,
int  type 
)
inlinestatic
Here is the caller graph for this function:

◆ f2fs_trim_fs()

int f2fs_trim_fs ( struct f2fs_sb_info sbi,
struct fstrim_range *  range 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_truncate()

int f2fs_truncate ( struct inode inode)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_trylock_op()

static int f2fs_trylock_op ( struct f2fs_sb_info sbi)
inlinestatic
Here is the caller graph for this function:

◆ f2fs_unlock_all()

static void f2fs_unlock_all ( struct f2fs_sb_info sbi)
inlinestatic
Here is the caller graph for this function:

◆ f2fs_unlock_op()

static void f2fs_unlock_op ( struct f2fs_sb_info sbi)
inlinestatic
Here is the caller graph for this function:

◆ f2fs_unregister_sysfs()

void f2fs_unregister_sysfs ( struct f2fs_sb_info sbi)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_update_data_blkaddr()

void f2fs_update_data_blkaddr ( struct dnode_of_data dn,
block_t  blkaddr 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_update_dentry()

void f2fs_update_dentry ( nid_t  ino,
umode_t  mode,
struct f2fs_dentry_ptr d,
const struct qstr *  name,
f2fs_hash_t  name_hash,
unsigned int  bit_pos 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_update_extent_cache()

void f2fs_update_extent_cache ( struct dnode_of_data dn)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_update_extent_cache_range()

void f2fs_update_extent_cache_range ( struct dnode_of_data dn,
pgoff_t  fofs,
block_t  blkaddr,
unsigned int  len 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_update_iostat()

static void f2fs_update_iostat ( struct f2fs_sb_info sbi,
enum iostat_type  type,
unsigned long long  io_bytes 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_update_time()

static void f2fs_update_time ( struct f2fs_sb_info sbi,
int  type 
)
inlinestatic
Here is the caller graph for this function:

◆ f2fs_wait_discard_bios()

bool f2fs_wait_discard_bios ( struct f2fs_sb_info sbi)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_wait_on_block_writeback()

void f2fs_wait_on_block_writeback ( struct f2fs_sb_info sbi,
block_t  blkaddr 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_wait_on_page_writeback()

void f2fs_wait_on_page_writeback ( struct page *  page,
enum page_type  type,
bool  ordered 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_write_inline_data()

int f2fs_write_inline_data ( struct inode inode,
struct page *  page 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f2fs_write_inode()

int f2fs_write_inode ( struct inode inode,
struct writeback_control *  wbc 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ find_data_page()

struct page* find_data_page ( struct inode inode,
pgoff_t  index 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ find_in_inline_dir()

struct f2fs_dir_entry* find_in_inline_dir ( struct inode dir,
struct fscrypt_name *  fname,
struct page **  res_page 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ find_target_dentry()

struct f2fs_dir_entry* find_target_dentry ( struct fscrypt_name *  fname,
f2fs_hash_t  namehash,
int *  max_slots,
struct f2fs_dentry_ptr d 
)
Here is the caller graph for this function:

◆ flush_nat_entries()

void flush_nat_entries ( struct f2fs_sb_info sbi,
struct cp_control cpc 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ flush_sit_entries()

void flush_sit_entries ( struct f2fs_sb_info sbi,
struct cp_control cpc 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ FREE_I()

static struct free_segmap_info* FREE_I ( struct f2fs_sb_info sbi)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ fsync_node_pages()

int fsync_node_pages ( struct f2fs_sb_info sbi,
struct inode inode,
struct writeback_control *  wbc,
bool  atomic 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_blocktype_secs()

static int get_blocktype_secs ( struct f2fs_sb_info sbi,
int  block_type 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_de_type()

unsigned char get_de_type ( struct f2fs_dir_entry *  de)
Here is the caller graph for this function:

◆ get_dirty_pages()

static int get_dirty_pages ( struct inode inode)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_dnode_of_data()

int get_dnode_of_data ( struct dnode_of_data dn,
pgoff_t  index,
int  mode 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_extent_info()

static void get_extent_info ( struct extent_info ext,
struct f2fs_extent *  i_ext 
)
inlinestatic
Here is the caller graph for this function:

◆ get_extra_isize()

static int get_extra_isize ( struct inode inode)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_inline_info()

static void get_inline_info ( struct inode inode,
struct f2fs_inode *  ri 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_inline_xattr_addrs()

static int get_inline_xattr_addrs ( struct inode inode)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_lock_data_page()

struct page* get_lock_data_page ( struct inode inode,
pgoff_t  index,
bool  for_write 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_meta_page()

struct page* get_meta_page ( struct f2fs_sb_info sbi,
pgoff_t  index 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_new_data_page()

struct page* get_new_data_page ( struct inode inode,
struct page *  ipage,
pgoff_t  index,
bool  new_i_size 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_next_page_offset()

pgoff_t get_next_page_offset ( struct dnode_of_data dn,
pgoff_t  pgofs 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_node_info()

void get_node_info ( struct f2fs_sb_info sbi,
nid_t  nid,
struct node_info ni 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_node_page()

struct page* get_node_page ( struct f2fs_sb_info sbi,
pgoff_t  nid 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_node_page_ra()

struct page* get_node_page_ra ( struct page *  parent,
int  start 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_pages()

static s64 get_pages ( struct f2fs_sb_info sbi,
int  count_type 
)
inlinestatic
Here is the caller graph for this function:

◆ get_read_data_page()

struct page* get_read_data_page ( struct inode inode,
pgoff_t  index,
int  op_flags,
bool  for_write 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_sum_page()

struct page* get_sum_page ( struct f2fs_sb_info sbi,
unsigned int  segno 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_tmp_page()

struct page* get_tmp_page ( struct f2fs_sb_info sbi,
pgoff_t  index 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_valid_checkpoint()

int get_valid_checkpoint ( struct f2fs_sb_info sbi)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ grab_meta_page()

struct page* grab_meta_page ( struct f2fs_sb_info sbi,
pgoff_t  index 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ handle_failed_inode()

void handle_failed_inode ( struct inode inode)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ inc_page_count()

static void inc_page_count ( struct f2fs_sb_info sbi,
int  count_type 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ inc_valid_block_count()

static int inc_valid_block_count ( struct f2fs_sb_info sbi,
struct inode inode,
blkcnt_t *  count 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ inc_valid_inode_count()

static void inc_valid_inode_count ( struct f2fs_sb_info sbi)
inlinestatic
Here is the caller graph for this function:

◆ inc_valid_node_count()

static int inc_valid_node_count ( struct f2fs_sb_info sbi,
struct inode inode,
bool  is_inode 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_discard_policy()

void init_discard_policy ( struct discard_policy dpolicy,
int  discard_type,
unsigned int  granularity 
)
Here is the caller graph for this function:

◆ init_extent_cache_info()

void init_extent_cache_info ( struct f2fs_sb_info sbi)
Here is the caller graph for this function:

◆ init_ino_entry_info()

void init_ino_entry_info ( struct f2fs_sb_info sbi)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_inode_metadata()

struct page* init_inode_metadata ( struct inode inode,
struct inode dir,
const struct qstr *  new_name,
const struct qstr *  orig_name,
struct page *  dpage 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ inline_data_addr()

static void* inline_data_addr ( struct inode inode,
struct page *  page 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ inline_xattr_addr()

static void* inline_xattr_addr ( struct inode inode,
struct page *  page 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ inline_xattr_size()

static int inline_xattr_size ( struct inode inode)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ inode_dec_dirty_pages()

static void inode_dec_dirty_pages ( struct inode inode)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ inode_inc_dirty_pages()

static void inode_inc_dirty_pages ( struct inode inode)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ invalidate_blocks()

void invalidate_blocks ( struct f2fs_sb_info sbi,
block_t  addr 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ io_type_to_rw_hint()

enum rw_hint io_type_to_rw_hint ( struct f2fs_sb_info sbi,
enum page_type  type,
enum temp_type  temp 
)
Here is the caller graph for this function:

◆ is_checkpointed_data()

bool is_checkpointed_data ( struct f2fs_sb_info sbi,
block_t  blkaddr 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_checkpointed_node()

bool is_checkpointed_node ( struct f2fs_sb_info sbi,
nid_t  nid 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_dirty_device()

bool is_dirty_device ( struct f2fs_sb_info sbi,
nid_t  ino,
unsigned int  devidx,
int  type 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_dot_dotdot()

static bool is_dot_dotdot ( const struct qstr *  str)
inlinestatic

◆ is_file()

static int is_file ( struct inode inode,
int  type 
)
inlinestatic
Here is the call graph for this function:

◆ is_idle()

static bool is_idle ( struct f2fs_sb_info sbi)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ IS_INODE()

static bool IS_INODE ( struct page *  page)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_inode_flag_set()

static int is_inode_flag_set ( struct inode inode,
int  flag 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_sbi_flag_set()

static bool is_sbi_flag_set ( struct f2fs_sb_info sbi,
unsigned int  type 
)
inlinestatic
Here is the caller graph for this function:

◆ is_set_ckpt_flags()

static bool is_set_ckpt_flags ( struct f2fs_sb_info sbi,
unsigned int  f 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_valid_blkaddr()

bool is_valid_blkaddr ( struct f2fs_sb_info sbi,
block_t  blkaddr,
int  type 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lookup_journal_in_cursum()

int lookup_journal_in_cursum ( struct f2fs_journal *  journal,
int  type,
unsigned int  val,
int  alloc 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ make_dentry_ptr_block()

static void make_dentry_ptr_block ( struct inode inode,
struct f2fs_dentry_ptr d,
struct f2fs_dentry_block *  t 
)
inlinestatic
Here is the caller graph for this function:

◆ make_dentry_ptr_inline()

static void make_dentry_ptr_inline ( struct inode inode,
struct f2fs_dentry_ptr d,
void *  t 
)
inlinestatic
Here is the caller graph for this function:

◆ make_empty_inline_dir()

int make_empty_inline_dir ( struct inode inode,
struct inode parent,
struct page *  ipage 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ META_MAPPING()

static struct address_space* META_MAPPING ( struct f2fs_sb_info sbi)
static
Here is the caller graph for this function:

◆ move_node_page()

void move_node_page ( struct page *  node_page,
int  gc_type 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ need_dentry_mark()

int need_dentry_mark ( struct f2fs_sb_info sbi,
nid_t  nid 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ need_inode_block_update()

bool need_inode_block_update ( struct f2fs_sb_info sbi,
nid_t  ino 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ need_SSR()

bool need_SSR ( struct f2fs_sb_info sbi)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ new_inode_page()

struct page* new_inode_page ( struct inode inode)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ new_node_page()

struct page* new_node_page ( struct dnode_of_data dn,
unsigned int  ofs 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ NM_I()

static struct f2fs_nm_info* NM_I ( struct f2fs_sb_info sbi)
static

◆ NODE_MAPPING()

static struct address_space* NODE_MAPPING ( struct f2fs_sb_info sbi)
static
Here is the caller graph for this function:

◆ npages_for_summary_flush()

int npages_for_summary_flush ( struct f2fs_sb_info sbi,
bool  for_ra 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ offset_in_addr()

static int offset_in_addr ( struct f2fs_inode *  i)
inlinestatic
Here is the caller graph for this function:

◆ ra_meta_pages()

int ra_meta_pages ( struct f2fs_sb_info sbi,
block_t  start,
int  nrpages,
int  type,
bool  sync 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ra_meta_pages_cond()

void ra_meta_pages_cond ( struct f2fs_sb_info sbi,
pgoff_t  index 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ra_node_page()

void ra_node_page ( struct f2fs_sb_info sbi,
nid_t  nid 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ read_inline_data()

void read_inline_data ( struct page *  page,
struct page *  ipage 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ recover_fsync_data()

int recover_fsync_data ( struct f2fs_sb_info sbi,
bool  check_only 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ recover_inline_data()

bool recover_inline_data ( struct inode inode,
struct page *  npage 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ recover_inline_xattr()

void recover_inline_xattr ( struct inode inode,
struct page *  page 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ recover_inode_page()

int recover_inode_page ( struct f2fs_sb_info sbi,
struct page *  page 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ recover_orphan_inodes()

int recover_orphan_inodes ( struct f2fs_sb_info sbi)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ recover_xattr_data()

int recover_xattr_data ( struct inode inode,
struct page *  page 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ register_inmem_page()

void register_inmem_page ( struct inode inode,
struct page *  page 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ release_discard_addrs()

void release_discard_addrs ( struct f2fs_sb_info sbi)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ release_ino_entry()

void release_ino_entry ( struct f2fs_sb_info sbi,
bool  all 
)
Here is the caller graph for this function:

◆ release_orphan_inode()

void release_orphan_inode ( struct f2fs_sb_info sbi)
Here is the caller graph for this function:

◆ remove_dirty_inode()

void remove_dirty_inode ( struct inode inode)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ remove_ino_entry()

void remove_ino_entry ( struct f2fs_sb_info sbi,
nid_t  ino,
int  type 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ remove_inode_page()

int remove_inode_page ( struct inode inode)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ remove_orphan_inode()

void remove_orphan_inode ( struct f2fs_sb_info sbi,
nid_t  ino 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ reserve_new_block()

int reserve_new_block ( struct dnode_of_data dn)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ reserve_new_blocks()

int reserve_new_blocks ( struct dnode_of_data dn,
blkcnt_t  count 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ restore_node_summary()

void restore_node_summary ( struct f2fs_sb_info sbi,
unsigned int  segno,
struct f2fs_summary_block *  sum 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rewrite_data_page()

int rewrite_data_page ( struct f2fs_io_info fio)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ room_for_filename()

int room_for_filename ( const void *  bitmap,
int  slots,
int  max_slots 
)
Here is the caller graph for this function:

◆ rw_hint_to_seg_type()

int rw_hint_to_seg_type ( enum rw_hint  hint)
Here is the caller graph for this function:

◆ sanity_check_ckpt()

const char const char int sanity_check_ckpt ( struct f2fs_sb_info sbi)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_acl_inode()

static void set_acl_inode ( struct inode inode,
umode_t  mode 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_ckpt_flags()

static void set_ckpt_flags ( struct f2fs_sb_info sbi,
unsigned int  f 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_data_blkaddr()

void set_data_blkaddr ( struct dnode_of_data dn)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_de_type()

void set_de_type ( struct f2fs_dir_entry *  de,
umode_t  mode 
)
Here is the caller graph for this function:

◆ set_dirty_device()

void set_dirty_device ( struct f2fs_sb_info sbi,
nid_t  ino,
unsigned int  devidx,
int  type 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_extent_info()

static void set_extent_info ( struct extent_info ei,
unsigned int  fofs,
u32  blk,
unsigned int  len 
)
inlinestatic
Here is the caller graph for this function:

◆ set_file()

static void set_file ( struct inode inode,
int  type 
)
inlinestatic
Here is the call graph for this function:

◆ set_inode_flag()

static void set_inode_flag ( struct inode inode,
int  flag 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_new_dnode()

static void set_new_dnode ( struct dnode_of_data dn,
struct inode inode,
struct page *  ipage,
struct page *  npage,
nid_t  nid 
)
inlinestatic
Here is the caller graph for this function:

◆ set_opt_mode()

static void set_opt_mode ( struct f2fs_sb_info sbi,
unsigned int  mt 
)
inlinestatic
Here is the caller graph for this function:

◆ set_raw_extent()

static void set_raw_extent ( struct extent_info ext,
struct f2fs_extent *  i_ext 
)
inlinestatic
Here is the caller graph for this function:

◆ set_raw_inline()

static void set_raw_inline ( struct inode inode,
struct f2fs_inode *  ri 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_sbi_flag()

static void set_sbi_flag ( struct f2fs_sb_info sbi,
unsigned int  type 
)
inlinestatic
Here is the caller graph for this function:

◆ should_update_inplace()

bool should_update_inplace ( struct inode inode,
struct f2fs_io_info fio 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ should_update_outplace()

bool should_update_outplace ( struct inode inode,
struct f2fs_io_info fio 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SIT_I()

static struct sit_info* SIT_I ( struct f2fs_sb_info sbi)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SM_I()

static struct f2fs_sm_info* SM_I ( struct f2fs_sb_info sbi)
static

◆ space_for_roll_forward()

bool space_for_roll_forward ( struct f2fs_sb_info sbi)
Here is the caller graph for this function:

◆ start_bidx_of_node()

block_t start_bidx_of_node ( unsigned int  node_ofs,
struct inode inode 
)
Here is the caller graph for this function:

◆ start_gc_thread()

int start_gc_thread ( struct f2fs_sb_info sbi)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ stop_discard_thread()

void stop_discard_thread ( struct f2fs_sb_info sbi)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ stop_gc_thread()

void stop_gc_thread ( struct f2fs_sb_info sbi)
Here is the caller graph for this function:

◆ sync_dirty_inodes()

int sync_dirty_inodes ( struct f2fs_sb_info sbi,
enum inode_type  type 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sync_meta_pages()

long sync_meta_pages ( struct f2fs_sb_info sbi,
enum page_type  type,
long  nr_to_write,
enum iostat_type  io_type 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sync_node_pages()

int sync_node_pages ( struct f2fs_sb_info sbi,
struct writeback_control *  wbc,
bool  do_balance,
enum iostat_type  io_type 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ truncate_blocks()

int truncate_blocks ( struct inode inode,
u64  from,
bool  lock 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ truncate_data_blocks()

void truncate_data_blocks ( struct dnode_of_data dn)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ truncate_data_blocks_range()

void truncate_data_blocks_range ( struct dnode_of_data dn,
int  count 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ truncate_hole()

int truncate_hole ( struct inode inode,
pgoff_t  pg_start,
pgoff_t  pg_end 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ truncate_inline_inode()

void truncate_inline_inode ( struct inode inode,
struct page *  ipage,
u64  from 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ truncate_inode_blocks()

int truncate_inode_blocks ( struct inode inode,
pgoff_t  from 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ truncate_xattr_node()

int truncate_xattr_node ( struct inode inode)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ try_to_free_nats()

int try_to_free_nats ( struct f2fs_sb_info sbi,
int  nr_shrink 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ try_to_free_nids()

int try_to_free_nids ( struct f2fs_sb_info sbi,
int  nr_shrink 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_dirty_page()

void update_dirty_page ( struct inode inode,
struct page *  page 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_extension_list()

int update_extension_list ( struct f2fs_sb_info sbi,
const char *  name,
bool  hot,
bool  set 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_inode()

void update_inode ( struct inode inode,
struct page *  node_page 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_inode_page()

void update_inode_page ( struct inode inode)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_meta_page()

void update_meta_page ( struct f2fs_sb_info sbi,
void *  src,
block_t  blk_addr 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_nats_in_cursum()

static int update_nats_in_cursum ( struct f2fs_journal *  journal,
int  i 
)
inlinestatic
Here is the caller graph for this function:

◆ update_parent_metadata()

void update_parent_metadata ( struct inode dir,
struct inode inode,
unsigned int  current_depth 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_sits_in_cursum()

static int update_sits_in_cursum ( struct f2fs_journal *  journal,
int  i 
)
inlinestatic
Here is the caller graph for this function:

◆ valid_inode_count()

static s64 valid_inode_count ( struct f2fs_sb_info sbi)
inlinestatic
Here is the caller graph for this function:

◆ valid_node_count()

static unsigned int valid_node_count ( struct f2fs_sb_info sbi)
inlinestatic
Here is the caller graph for this function:

◆ valid_user_blocks()

static block_t valid_user_blocks ( struct f2fs_sb_info sbi)
inlinestatic
Here is the caller graph for this function:

◆ wait_on_node_pages_writeback()

int wait_on_node_pages_writeback ( struct f2fs_sb_info sbi,
nid_t  ino 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ write_checkpoint()

int write_checkpoint ( struct f2fs_sb_info sbi,
struct cp_control cpc 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ write_data_page()

void write_data_page ( struct dnode_of_data dn,
struct f2fs_io_info fio 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ write_data_summaries()

void write_data_summaries ( struct f2fs_sb_info sbi,
block_t  start_blk 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ write_meta_page()

void write_meta_page ( struct f2fs_sb_info sbi,
struct page *  page,
enum iostat_type  io_type 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ write_node_page()

void write_node_page ( unsigned int  nid,
struct f2fs_io_info fio 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ write_node_summaries()

void write_node_summaries ( struct f2fs_sb_info sbi,
block_t  start_blk 
)
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ f2fs_dblock_aops

const struct address_space_operations f2fs_dblock_aops

◆ f2fs_dir_inode_operations

const struct inode_operations f2fs_dir_inode_operations

◆ f2fs_dir_operations

const struct file_operations f2fs_dir_operations

◆ f2fs_encrypted_symlink_inode_operations

const struct inode_operations f2fs_encrypted_symlink_inode_operations

◆ f2fs_file_inode_operations

const struct inode_operations f2fs_file_inode_operations

◆ f2fs_file_operations

const struct file_operations f2fs_file_operations

◆ f2fs_meta_aops

const struct address_space_operations f2fs_meta_aops

◆ f2fs_node_aops

const struct address_space_operations f2fs_node_aops

◆ f2fs_special_inode_operations

const struct inode_operations f2fs_special_inode_operations

◆ f2fs_symlink_inode_operations

const struct inode_operations f2fs_symlink_inode_operations

◆ fmt

const char const char* fmt

◆ inode_entry_slab

struct kmem_cache* inode_entry_slab

◆ level

const char* level